ベクトル同士を結合する。combineの省略形
# Lは明示的に整数と宣言する
x <- c(4L,5L,6L)
str(x)
## int [1:3] 4 5 6
反復的なベクトルを作成する。
# 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
ベクトルを逆順に並び替える。
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
ベクトルから指定数の標本を抽出する。
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
階乗(n!)を計算する
# 5! = 5 * 4 * 3 * 2 * 1 = 120
factorial(5)
## [1] 120
ベクトルの組み合わせを行列で展開する
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.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
copyrigth © 2016 r-beginners.com All rigths reserved.
PAGE TOP ▲