R言語使ってみる (2)

前回はR言語をインストールして、
コマンドライン上で基本の計算を行いました。

続・関数をつかってみる

length()

長さを返す。


> h <- c(1,2,3,4,5)
> length(h)
[1] 5

a:b

aからbまで1づつ増加する(a < b)


> 3:5
[1] 3 4 5
> a <- 10
> b <- 20
> a:b
 [1] 10 11 12 13 14 15 16 17 18 19 20

aからbまで1づつ減少する(a > b)


> 3:1
[1] 3 2 1
> a <- 10
> b <- 1
> a:b
 [1] 10  9  8  7  6  5  4  3  2  1

req()


// reqの最初の引数で渡されたものを第二引数分繰り返す
> rep(5, 10)
 [1] 5 5 5 5 5 5 5 5 5 5

> rep(c(1, 2), 5)
 [1] 1 2 1 2 1 2 1 2 1 2

// 配列の1列を2回、2列を3回繰り返す
> rep(c(1, 2), c(2,3))
[1] 1 1 2 2 2

// 1列を1回、2列を3回繰り返す
> rep(c(1, 2), c(1,3))
[1] 1 2 2 2

// 同じ配列数でないとエラー
> rep(c(1, 2), c(1,1,2))
 以下にエラー rep(c(1, 2), c(1, 1, 2)) :  'times' 引数が不正です 

// 0回繰り返すこともできる
> rep(c(1,2), c(0,5))
[1] 2 2 2 2 2

// timesで処理
> rep(3:1, times=3)
[1] 3 2 1 3 2 1 3 2 1

seq()

指定した数字から等差数列を作成する


> seq(10)
 [1]  1  2  3  4  5  6  7  8  9 10

// 1-10 を2つの長さで表現する
> seq(1, 10, length=2)
[1]  1 10

> seq(1, 10, length=3)
[1]  1.0  5.5 10.0

> seq(1, 10, length=4)
[1]  1  4  7 10

// byの長さで区切る
> seq(0, 100, by=10)
 [1]   0  10  20  30  40  50  60  70  80  90 100

> seq(0, 100, by=5)
 [1]   0   5  10  15  20  25  30  35  40  45  50  55  60  65  70  75  80  85  90
[20]  95 100

sum()

合計を求める 今まで使った関数と合わせることができる。


> sum(10)
[1] 10
> sum(seq(10))
[1] 55
> sum(c(1,5,4))
[1] 10
> sum(rep(c(1,5,4), 3))
[1] 30
> sum(rep(c(1,5,4), c(1,2,3)))
[1] 23

max()

そのまま、数字の最大値を返す


> max(c(1,3,4,5))
[1] 5

min()

これもそのまま、最小値を返す


> min(c(1,3,4,5))
[1] 1

mean()

平均値を返す


> mean(c(1,3,4,5))
[1] 3.25