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( 実正方行列 ) | 線形方程式を解く ( 逆行列を求める ) |