ベクトル作成の例
rep, seq, numeric, sample 関数の例をとりあげる。sample 関数は一番下に少し詳しく解説している。シミュレーションなどではよく使うが,使っていないと忘れるのでメモ…。
> c(1,2,3,4,5,6) # 数値を直接代入してベクトル作成
[1] 1 2 3 4 5 6
> rep(7,10) # 7を10回繰り返す
[1] 7 7 7 7 7 7 7 7 7 7
> rep(1:7,3) # 1から7を3回繰り返す
[1] 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7
> seq (1,7,2) # 1から7まで一つ飛ばしで
[1] 1 3 5 7
> rep(seq(1,7,2),3) # 1から7まで一つ飛ばしで3回繰り返す
[1] 1 3 5 7 1 3 5 7 1 3 5 7
> rep(1:7, each=3) # 1から7まで3回ずつ繰り返す
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7
> rep(seq(1,7,2), times=2, each=3) # 1から7まで3回ずつを2回繰り返す
[1] 1 1 1 3 3 3 5 5 5 7 7 7 1 1 1 3 3 3 5 5 5 7 7 7
# 1か2を無作為に10こ作る
> set.seed(10); TRT <- sample(x=2, size=10, replace=TRUE, prob=c(0.5,0.5))
> TRT
[1] 1 2 2 1 2 2 2 2 1 2
# 0行列をn 個つくる
> numeric(5)
[1] 0 0 0 0 0
# 0行列をn 個つくったあと10を各々に代入
> numeric(5) + 10
[1] 10 10 10 10 10
# sample(x, size, replace = FALSE, prob = NULL)
# x : サンプリング元データ
# size : サンプリング回数。
# replace: 同一の要素を繰り返しサンプリングするのを許容するか否か
# prob : 確率で重みつける
> # 0 か 1を10回サンプリング
> sample(0:1, 10, replace = TRUE)
[1] 1 0 1 0 0 1 0 0 0 1
> # 0 か 1を10回サンプリング(同じ重み)
> sample(0:1, 10, replace = TRUE, prob=c(0.5,0.5))
[1] 0 1 1 0 0 1 1 0 0 0
参照先
Post a Comment
別ページに移動します