| c(オブジェクトの並び) | オブジェクトの並びを内容とするベクトルを生成する。 例) c(2,3,5) は 2, 3, 5 を要素とする長さ3のベクトル。 |
| seq(初項, 末項, 公差) | 等差数列ベクトルを生成する。 |
: |
公差1の等差数列ベクトルを生成する。 例) 1:5 は c(1,2,3,4,5) に等しい。 |
| rep(x, 回数) | xを回数だけ繰り返すベクトルを生成する。 例) rep(c(1,2),3) は c(1,2,1,2,1,2) に等しい。例) rep(c(1,2),c(3,3)) は c(1,1,1,2,2,2)に等しい。
回数がxと同じ長さベクトルの時には、
x の各要素のそれぞれを対応する回数複製する。 |
| append(x, values, after=length(x)) | ベクトルの要素の追加 |
| replace(x, list, values) | ベクトルの要素の置き換え |
| matrix(data, nrow=n, ncol=m) | dataの要素を 大きさ nxm の行列とする。 (defaultでは、data[1]が[1,1]要素, data[2]が[2,1]要素,...となる。 つまり、fortran流の前が早く回る添字順) 注: nrow, ncol の一方を指定すれば、他方は適当に定められる。 dataが長さが nxm に満たないときには data を巡回的に用いる。 |
| array(data, dim=c(各次元の大きさ)) | データをdimに与えた次元の配列(多次元行列)とする。 例) array(data, dim=c(2,3,5)) は data を2x3x5の3次元配列とする。 注、このとき、左の添字が先に変化する順序で格納される。 |
| cbind( ... ) rbind( ... ) |
... のベクトル(行列)を列として並べた行列 ... のベクトル(行列)を行として並べた行列 |
| t( 行列 ) | その行列の転置行列 |
| aperm( 配列, perm ) | その配列のpermによる軸の置換 |
| diag( x ) | x:行列ならその対角要素を要素としたベクトル x:ベクトルならそれを対角要素とした対角行列 x:スカラーなら大きさxの単位行列 |
| 配列[引数] | "引数"の内容を各次元の添字とした配列の要素(/部分配列)次表を参照 |
| リスト[[引数]] | リストの成分を選ぶ 例) mylist[[2]] |
| リスト$成分名 | リストの成分名で選ぶ 例) mylist$stuff |
| 論理数 | 真(T)の抽出と選択 例) x[c(T,F,F,T)], x[x>3] |
| 正の数 | 抽出と選択 例) x[c(1,3,5,9)] |
| 負の数 | 指定要素の削除 例) x[-c(2,4)] |
| 外れ値,欠損値 | NAを使用 |
例) M:論理値行列として、(たとえば、M _ matrix(c(T,F,F,F,T,T),nc=2)
cbind(row(M)[M], col(M)[M]) : 行列要素が T であるところの行番号と列番号
| dim( x ) | 配列x の次元の大きさベクトルを返す |
| ncol( x ) | 行列xの列数 |
| nrow( x ) | 行列xの行数 |
| lower.tri( x ) | 行列xの下三角部分が真のxと同じ大きさの論理値行列 |
| col( x ) | 行列xの列番号を要素とするxと同じ大きさの行列 |
| row( x ) | 行列xの行番号を要素とするxと同じ大きさの行列 |
| slice.index( x, MARGIN ) | 配列xの第MARGIN次元の番号を要素とするxと同じ大きさの配列 例:x <- array(runif(24),c(2,3,4)); split(x,slice.index(x,3))) x の 第3次元で x の要素を層別した結果(リスト) |
| x %*% y | 行列の積の結果を返す。 x, yがベクトル同士の場合には、t(x) %*% y に等しくなる |
| x %c% y | 行列のクロス積の結果を返す。 x %c% y == t(x) %*% y |
| outer( x, y, FUN ) | FUNによる(一般化)外積結果の配列を返す。 次元数はc(dim(as.array(x)),dim(as.array(x)))、 配列の第[i,j,....,a,b,...]要素の値は FUN(x[i,j,....],y[a,b,...])となる。 |
| x %o% y | (普通の)外積結果の配列を返す。 outer( x, y, FUN="*" ) に同じ |
データ集約も参照の事。 一般の数学では行列(ベクトル)用でない演算子/関数を、 行列(ベクトル)に適用した場合、普通は 要素ごと個別にその演算を行うことと解釈され、実行される。
例
> x <- matrix(1:6,nrow=2)
> x
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> x + x # 行列同士の和は "+" 記号で出来る。
[,1] [,2] [,3]
[1,] 2 6 10
[2,] 4 8 12
> sqrt(x)
[,1] [,2] [,3]
[1,] 1.000000 1.732051 2.236068
[2,] 1.414214 2.000000 2.449490
> x-1
[,1] [,2] [,3]
[1,] 0 2 4
[2,] 1 3 5
| eigen( 実正方行列 ) | 実行列の固有値と固有ベクトルを求める |
| svd( 行列 ) | 行列 x の特異値分解 list(u,d,v) を求める。
x = u %*% diag(d) %*% t(v) |
| qr( 実数行列 ) | 実数行列のQR分解を求める |
| qr( 非負定符号の対称行列 ) | 行列のコレスキー分解を求める |
| solve( 実正方行列 ) | 線形方程式を解く ( 逆行列を求める ) |