スカラー・ベクトル・アレイと周辺度数

# 数値を一つ入れる
x<-3
# 表示させる
print(x)
y<-5
# 加減乗除する
x+y
x-y
x*y
x/y
# Rでどういう扱いかを確認する
str(x)
> # 数値を一つ入れる
> x<-3
> # 表示させる
> print(x)
[1] 3
> y<-5
> # 加減乗除する
> x+y
[1] 8
> x-y
[1] -2
> x*y
[1] 15
> x/y
[1] 0.6
> # Rでどういう扱いかを確認する
> str(x)
 num 3
  • ベクトル
    • ベクトルは値の並び
v<-c(1,2,3)
print(v)
# ベクトルを大きくする
v2<-c(v,4)
print(v2)
# ベクトルをつなげる
v3<-c(v,v2)
print(v3)
> v<-c(1,2,3)
> print(v)
[1] 1 2 3
> # ベクトルを大きくする
> v2<-c(v,4)
> print(v2)
[1] 1 2 3 4
> # ベクトルをつなげる
> v3<-c(v,v2)
> print(v3)
[1] 1 2 3 1 2 3 4
    • 特定のベクトルを作る
u1<-1:5
print(u1)
u2<-rep(3,5)
print(u2)
u3<-rep(1:3,4)
print(u3)
u4<-seq(from=0,to=1,by=0.1)
print(u4)
u5<-seq(from=0,to=1,length=11)
print(u5)
u6<-runif(10)
print(u6)
str(u1)
> u1<-1:5
> print(u1)
[1] 1 2 3 4 5
> u2<-rep(3,5)
> print(u2)
[1] 3 3 3 3 3
> u3<-rep(1:3,4)
> print(u3)
 [1] 1 2 3 1 2 3 1 2 3 1 2 3
> u4<-seq(from=0,to=1,by=0.1)
> print(u4)
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> u5<-seq(from=0,to=1,length=11)
> print(u5)
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> u6<-runif(10)
> print(u6)
 [1] 0.6946362 0.3383167 0.8613114 0.9208206 0.8629161 0.5063075
 [7] 0.4680532 0.9792969 0.2359983 0.8967567
> str(u1)
 int [1:5] 1 2 3 4 5
u1<-1:3
u2<-5:3
print(u1)
print(u2)
# 加減乗除
u1+u2
u1-u2
u1*u2
u1/u2
> u1<-1:3
> u2<-5:3
> print(u1)
[1] 1 2 3
> print(u2)
[1] 5 4 3
> # 加減乗除
> u1+u2
[1] 6 6 6
> u1-u2
[1] -4 -2  0
> u1*u2
[1] 5 8 9
> u1/u2
[1] 0.2 0.5 1.0
u1<-1:3
u2<-1:3
print(u1)
print(u2)
sum(u1*u2)
t(u1)%*%u2
u1%*%t(u2)
> u1<-1:3
> u2<-1:3
> print(u1)
[1] 1 2 3
> print(u2)
[1] 1 2 3
# 内積
> sum(u1*u2)
[1] 14
# ベクトルを行列として扱っても計算できる
> t(u1)%*%u2
     [,1]
[1,]   14
  • 行列
m<-matrix(1:6,2,3)
print(m)
str(m)
> m<-matrix(1:6,2,3)
> print(m)
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
> str(m)
 int [1:2, 1:3] 1 2 3 4 5 6
dim(m)
> dim(m)
[1] 2 3
m2<-matrix(1:6,3,2)
print(m2)
m %*% m2
> m2<-matrix(1:6,3,2)
> print(m2)
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6
> m %*% m2
     [,1] [,2]
[1,]   22   49
[2,]   28   64
# 周辺度数を計算する
apply(m,1,sum)
apply(m,2,sum)
> apply(m,1,sum)
[1]  9 12
> apply(m,2,sum)
[1]  3  7 11
  • アレイ
# dimension
d<-c(2,3,4)
# cell 数
Nc<-prod(d)
print(Nc)
a<-array(1:Nc,d)
print(a)
> # dimension
> d<-c(2,3,4)
> # cell 数
> Nc<-prod(d)
> print(Nc)
[1] 24
> a<-array(1:Nc,d)
> print(a)
, , 1

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

, , 2

     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

, , 3

     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18

, , 4

     [,1] [,2] [,3]
[1,]   19   21   23
[2,]   20   22   24
dim(a)
# 周辺度数
apply(a,1,sum)
apply(a,2,sum)
apply(a,3,sum)
apply(a,c(1,2),sum)
apply(a,c(1,3),sum)
apply(a,c(2,3),sum)
apply(a,c(1,2,3),sum)
sum(a)
> dim(a)
[1] 2 3 4
> # 周辺度数
> apply(a,1,sum)
[1] 144 156
> apply(a,2,sum)
[1]  84 100 116
> apply(a,3,sum)
[1]  21  57  93 129
> apply(a,c(1,2),sum)
     [,1] [,2] [,3]
[1,]   40   48   56
[2,]   44   52   60
> apply(a,c(1,3),sum)
     [,1] [,2] [,3] [,4]
[1,]    9   27   45   63
[2,]   12   30   48   66
> apply(a,c(2,3),sum)
     [,1] [,2] [,3] [,4]
[1,]    3   15   27   39
[2,]    7   19   31   43
[3,]   11   23   35   47
> apply(a,c(1,2,3),sum)
, , 1

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

, , 2

     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

, , 3

     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18

, , 4

     [,1] [,2] [,3]
[1,]   19   21   23
[2,]   20   22   24

> sum(a)
[1] 300