Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第4回 ベクトルと行列の計算

第4回はベクトルと行列(マトリックス)の計算について書きます。

 

ベクトルの話になると出てくるのが「スカラー」。

「ベクトル」との違いは何でしょう。

スカラー:単一の値を持つもの(=大きさのみを持つ量

ベクトル:縦もしくは横に複数の値を並べたもの(=大きさと向きを持った量

 

xにはスカラー、yにはベクトルを入れてみましょう。

> x<-5 #xに5を入れる 
> x
[1] 5
> y<-c(1,3,5,7,9) 

#yにベクトルを入れる 

#c(combine)関数でベクトルを生成する
> y
[1] 1 3 5 7 9

 ベクトルを作成していきましょう。

> vec1<-c(1,2,3,4,5,6,7,8,9,10) #1~10までのベクトルを作成
> vec1
[1] 1 2 3 4 5 6 7 8 9 10
> vec2<-c(1:10) #1~10までのベクトルを作成
> vec2
[1] 1 2 3 4 5 6 7 8 9 10 
> vec3 <- 5:10 #5~10までのベクトルを作成
> vec3
[1] 5 6 7 8 9 10
> vec4 <- 10:1  #10~1までのベクトルを作成
> vec4
[1] 10 9 8 7 6 5 4 3 2 1
> vec5 <- -10:10  #-10~+10までのベクトルを作成
> vec5
[1] -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
> vec6 <- seq(1,10,1) #1~10までのベクトルを、1刻みで作成
> vec6
[1] 1 2 3 4 5 6 7 8 9 10
> vec7 <- rep(1,10) #1を10回繰り返してベクトルを作成
> vec7
[1] 1 1 1 1 1 1 1 1 1 1

 ベクトルの計算をしていきましょう。

> vector1 <-c(1:5)
> vector1
[1] 1 2 3 4 5

> vector2 <-seq(2,10,2)
> vector2
[1] 2 4 6 8 10

> vector1+vector2 #ベクトル同士の足し算
[1] 3 6 9 12 15
> vector1-vector2 #ベクトル同士の引き算
[1] -1 -2 -3 -4 -5
> vector1*vector2 #ベクトルの要素同士の掛け算
[1] 2 8 18 32 50
> vector1%*%vector2 #ベクトルの内積
  [,1]
[1,] 110
> vector2*10 #スカラー
[1] 20 40 60 80 100

>vector1/vector2

[1]0.5 0.5 0.5 0.5 0.5

 ベクトルの要素を確認する

> vector11 <-vector1[c(1,3,5)] 

#vector1から要素の1、3、5番目の要素を抜き出し、vector11に入れる

> vector11
[1] 1 3 5

> vector111 <- vector1[c(5,3,1)]
#vector1から要素の5、3、1番というように順番を変更し、vector111に入れる> vector111
[1] 5 3 1

 

関数おさらい
c():ベクトルを生成する                     
seq():seq(最初,最後,差)でベクトルを作成 
rep(): rep(最初,回数で)回数分、ベクトルを作成

 

 

第4回は以上で終わりです。 

 

広告を非表示にする