第3回 Rを用いた統計講座(基礎編)〜「Rで四則演算」「Rでベクトル」「Rで行列」〜

2020年9月15日

Rでも、もちろん四則演算ができます。コマンドは以下の通りです。コードを入力し、エンターキーで結果を出力してみましょう。

コマンド用法
#コメントアウト
+足し算
引き算
*掛け算
/割り算
サンプルコード

#足し算
2+10
#引き算
3-5
#掛け算
3*2
#割り算
1/2

Rでは、n次元(多次元)ベクトルを用いる場合が多いです。そこで、ベクトル作成方法をみていきます。ベクトル作成に必要なコマンドは以下の通りです。

コマンド用法
c()ベクトルを作成に使われます。ベクトルの要素はカンマで区切リます。
<-代入に使われます。a<-b(aにbを代入)
:連続した整数です。(1:4は1,2,3,4です。)
reprep(a,b)でaをb個並べる意味です。
サンプルコード

x<-c(1,2,3,4,5,6)
y<-c(1:3,4:6,5:1)
z<-c(“A","B")
a<-c(rep(4,6),rep(c(1,3,5),c(2,4,6)))
x
y
z
a

1行のベクトルが複数集まったものが行列になります。なお、行列の作成方法に関するコマンドは以下の通りになります。

コマンド用法
matrix()matrix(要素ベクトル、行数、列数)で行列を作成します。
now()行数を返します。(nrow(a)でaの行数を返します。)
ncos()列数を返します。(ncos(a)でaの列数を返します。)
browbyrow=TRUE で要素順を変更します。(縦順を横順に変更します。)
サンプルコード

mat1 <- matrix(c(1:8),nrow=2,ncol=4)
mat2 <- matrix(c(1:8),2,4)
mat3 <- matrix(c(1:8),2,byrow=TRUE)
mat4 <- matrix(c(1,3,5,7,9,5,3,2,1),3,3,byrow=TRUE)
mat1
mat2
mat3
mat4

Rでは、行列同士の計算も簡単にできます。以下のコマンドの通り、今回は基本的な演算を紹介しています。

コマンド用法
+
行列やベクトルの対応する各要素同士の足し算を行います。
行列やベクトルの対応する各要素同士の引き算を行います。
*行列やベクトル同士の同じ部分に位置する要素同士の掛け算を行います。
/行列やベクトル同士の同じ部分に位置する要素同士の割り算を行います。
%/%行列同士の掛け算を行います。
solve()逆行列を求めます。solve(a)で行列aの逆行列を返します。
サンプルコード

mat1 + mat3
mat1 – mat3
mat1 * mat3
mat1/mat3 
mat4%*%mat4
solve(mat4)

Rでは、行列の任意の要素(成分)を参照することや取り出すことができます。コマンドは以下の通りです。

コマンド用法
変数名[参照したい行,参照したい列]行列の要素を参照できます。
サンプルコード

p <- mat1[1,2]
q <- mat4[,2]
r <- mat1[1,c(2,4)]
p
q
r

「第3回 Rを用いた統計講座(基礎編)」で学んだコマンドは、以下になります。

コマンド用法
#コメントアウト
c()ベクトルを作成に使われます。ベクトルの要素はカンマで区切リます。
<-代入に使われます。a<-b(aにbを代入)
:連続した整数です。(1:4は1,2,3,4です。)
reprep(a,b)でaをb個並べる意味です。
matrix()matrix(要素ベクトル、行数、列数)で行列を作成します。
now()行数を返します。(nrow(a)でaの行数を返します。)
ncos()列数を返します。(ncos(a)でaの列数を返します。)
browbyrow=TRUE で要素順を変更します。(縦順を横順に変更します。)
+
行列やベクトルの対応する各要素同士の足し算を行います。
行列やベクトルの対応する各要素同士の引き算を行います。
*行列やベクトル同士の同じ部分に位置する要素同士の掛け算を行います。
/行列やベクトル同士の同じ部分に位置する要素同士の割り算を行います。
%/%行列同士の掛け算を行います。
solve()逆行列を求めます。solve(a)で行列aの逆行列を返します。
変数名[参照したい行,参照したい列]行列の要素を参照できます。