15. ベクトル要素の置換・結合・挿入


ベクトルの要素の置換

ベクトルの要素の一部を置き換える場合は関数 replace() を用いることで実現できる.

 
 x <- c(1, 2, 3, 4, 5)                # x <- 1:5 でもよい
 ( y <- replace(x, c(2,4), c(0,0)) )  # x の 2, 4 番目の要素を 0 に置き換える

[1] 1 0 3 0 5

 ( z <- replace(x, c(2,4), NA) )      # 今度は NA で置き換える

[1]  1 NA  3 NA  5

 replace(z, which(is.na(z)), 10)      # z の NA を 10 で置き換え

[1]  1 10  3  4 10  6  7 10  9

ベクトルの要素の結合

2 個以上のベクトルを結合する場合は関数 c() を用いる.2 つのベクトルを結合するだけならば関数 append() でも実現出来る.

 
 x <- c(1, 2, 3);  y <- c(4, 5, 6);  z <- c(7, 8, 9)
 c(x, y, z)

[1] 1 2 3 4 5 6 7 8 9

 ( w <- append(x, z) )                # c(x, z) でもよい

[1] 1 2 3 7 8 9

ベクトルの要素の挿入

関数 append() を用いることで,ベクトルの指定の場所にベクトルを挿入させることも出来る.

 
 append(w, y, after=3)                # w の 3 番目の要素の後に y を挿入

[1] 1 2 3 4 5 6 7 8 9