ベクトルの作成

c

ベクトル同士を結合する。combineの省略形

# Lは明示的に整数と宣言する
x <- c(4L,5L,6L)
str(x)
##  int [1:3] 4 5 6

rep, rep_len

反復的なベクトルを作成する。

# example("関数")でヘルプファイルにあるサンプルコードが実行される
example(rep)
## 
## rep> rep(1:4, 2)
## [1] 1 2 3 4 1 2 3 4
## 
## rep> rep(1:4, each = 2)       # not the same.
## [1] 1 1 2 2 3 3 4 4
## 
## rep> rep(1:4, c(2,2,2,2))     # same as second.
## [1] 1 1 2 2 3 3 4 4
## 
## rep> rep(1:4, c(2,1,2,1))
## [1] 1 1 2 3 3 4
## 
## rep> rep(1:4, each = 2, len = 4)    # first 4 only.
## [1] 1 1 2 2
## 
## rep> rep(1:4, each = 2, len = 10)   # 8 integers plus two recycled 1's.
##  [1] 1 1 2 2 3 3 4 4 1 1
## 
## rep> rep(1:4, each = 2, times = 3)  # length 24, 3 complete replications
##  [1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
## 
## rep> rep(1, 40*(1-.8)) # length 7 on most platforms
## [1] 1 1 1 1 1 1 1
## 
## rep> rep(1, 40*(1-.8)+1e-7) # better
## [1] 1 1 1 1 1 1 1 1
## 
## rep> ## replicate a list
## rep> fred <- list(happy = 1:10, name = "squash")
## 
## rep> rep(fred, 5)
## $happy
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $name
## [1] "squash"
## 
## $happy
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $name
## [1] "squash"
## 
## $happy
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $name
## [1] "squash"
## 
## $happy
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $name
## [1] "squash"
## 
## $happy
##  [1]  1  2  3  4  5  6  7  8  9 10
## 
## $name
## [1] "squash"
## 
## 
## rep> # date-time objects
## rep> x <- .leap.seconds[1:3]
## 
## rep> rep(x, 2)
## [1] "1972-07-01 09:00:00 JST" "1973-01-01 09:00:00 JST"
## [3] "1974-01-01 09:00:00 JST" "1972-07-01 09:00:00 JST"
## [5] "1973-01-01 09:00:00 JST" "1974-01-01 09:00:00 JST"
## 
## rep> rep(as.POSIXlt(x), rep(2, 3))
## [1] "1972-07-01 09:00:00 JST" "1972-07-01 09:00:00 JST"
## [3] "1973-01-01 09:00:00 JST" "1973-01-01 09:00:00 JST"
## [5] "1974-01-01 09:00:00 JST" "1974-01-01 09:00:00 JST"
## 
## rep> ## named factor
## rep> x <- factor(LETTERS[1:4]); names(x) <- letters[1:4]
## 
## rep> x
## a b c d 
## A B C D 
## Levels: A B C D
## 
## rep> rep(x, 2)
## a b c d a b c d 
## A B C D A B C D 
## Levels: A B C D
## 
## rep> rep(x, each = 2)
## a a b b c c d d 
## A A B B C C D D 
## Levels: A B C D
## 
## rep> rep.int(x, 2)  # no names
## [1] A B C D A B C D
## Levels: A B C D
## 
## rep> rep_len(x, 10)
##  [1] A B C D A B C D A B
## Levels: A B C D

rev

ベクトルを逆順に並び替える。

x <- c(10:1)
rev(x)
##  [1]  1  2  3  4  5  6  7  8  9 10
# sortも同等
sort(x)
##  [1]  1  2  3  4  5  6  7  8  9 10

sample

ベクトルから指定数の標本を抽出する。
replace = FALSE が既定値、TRUEの場合、そのベクトルを結果で置換する。

x <- seq(1:10)
y <- sample(x, 10, replace = TRUE)
y
##  [1] 8 8 2 8 7 7 8 8 4 9
z <- sample(x, 10 , replace = FALSE)
z
##  [1]  2  6  4  3  9 10  8  5  7  1
x == sort(z)
##  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

choose

choose(n, k) 二項係数(n個からk個選ぶ場合の数)

choose(5,2)
## [1] 10

引用:R-Tips

factorial

階乗(n!)を計算する

# 5! = 5 * 4 * 3 * 2 * 1 = 120
factorial(5)
## [1] 120

combn

ベクトルの組み合わせを行列で展開する

combn(5,2)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,]    1    1    1    1    2    2    2    3    3     4
## [2,]    2    3    4    5    3    4    5    4    5     5

(is/as).(character/numeric/logical/…)

データ型の検査と変換

種別 検査 変換 備考
文字列 is.character as.character
実数 is.numeric as.numeric
理論値 is.logical as.logical
整数 is.integer as.integer
ベクトル is.vector as.vector
行列 is.matrix as.matrix
配列 is.array as.array
リスト is.list as.list
データフレーム is.data.frame as.data.frame
因子 is.factor as.factor

参照:R-Tips

x <- c(1,NA,5.0,99.9)
as.character(x)
## [1] "1"    NA     "5"    "99.9"
as.numeric(x)
## [1]  1.0   NA  5.0 99.9
as.logical(x)
## [1] TRUE   NA TRUE TRUE
as.integer(x)
## [1]  1 NA  5 99
as.vector(x)
## [1]  1.0   NA  5.0 99.9
最終更新日:2016/04/27

copyrigth © 2016 r-beginners.com All rigths reserved.

PAGE TOP ▲