R の使い方その2
ベクトル・行列演算
□ ベクトルの要素に対する演算
ベクトルの定義
> (v1 <- c(1, 2, 3))
> (v2 <- t(c(1, 2, 3)))
数学関数
> sin(v1)
> cos(v2)
> v1 ^ 2
> 2 ^ v2
□ ベクトルに対する演算
総和
> sum(v1)
平均
> mean(v2)
標準偏差
> sd(v1)
□ 行列の要素に対する演算
行列の定義
> (M <- matrix(c(1, 2, 3, 4, 5, 6, 7, 9, 8), 3, 3))
数学関数
> sin(M)
> sqrt(M)
行列の各行・列の取り出し
> M[1,]
> M[,1]
計算結果は次元が指定されないベクトルになる。
行列の各行・列に対する演算
> colSums(M)
> rowSums(M)
> colMeans(M)
> rowMeans(M)
計算結果は次元が指定されないベクトルになる。
□ 行列に対する演算
行列全体の要素の総和・平均
> sum(M)
> mean(M)
行列式
> det(M)
逆行列
> solve(M)
> solve(M) %*% M
転置
> t(M)
複素共役転置
> t(Conj(M))
固有値と固有ベクトル
> eigen(M)
> eigen(M)$values
> eigen(M)$vectors
$values に固有値のベクトルが返る。
$vectors に固有ベクトルを列とする行列が返る。
□ ベクトル・行列の生成
ベクトルの生成
> (v <- 1:10)
> (v <- seq(1, 10, by = 2))
> (v <- seq(0, 1, length.out = 11))
> (v <- rep(0, 3))
> (v <- runif(10))
> (v <- rnorm(10))
runif は一様分布乱数を rnorm は正規分布乱数(N(0,1))を成分にする
ベクトルを生成する。
行列の生成
> (M <- diag(1, 3))
> (M <- diag(c(1, 2, 3)))
> (M <- matrix(rep(0, 12), 3, 4))
> (M <- matrix(rep(1, 12), 4, 3))
GNU R
naniwa@rbt.his.u-fukui.ac.jp