R言語使ってみる (2)



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

続・関数をつかってみる

length()

長さを返す。
[shell]
> h <- c(1,2,3,4,5)
> length(h)
[1] 5
[/shell]

a:b

aからbまで1づつ増加する(a < b) [shell] > 3:5 [1] 3 4 5 > a <- 10 > b <- 20 > a:b [1] 10 11 12 13 14 15 16 17 18 19 20 [/shell] aからbまで1づつ減少する(a > b)
[shell]
> 3:1
[1] 3 2 1
> a <- 10
> b <- 1
> a:b
[1] 10 9 8 7 6 5 4 3 2 1
[/shell]

req()

[shell]
// 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
[/shell]

seq()

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

[shell]
> 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
[/shell]

sum()

合計を求める 今まで使った関数と合わせることができる。
[shell]
> 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
[/shell]

max()

そのまま、数字の最大値を返す
[shell]
> max(c(1,3,4,5))
[1] 5
[/shell]

min()

これもそのまま、最小値を返す
[shell]
> min(c(1,3,4,5))
[1] 1
[/shell]

mean()

平均値を返す
[shell]
> mean(c(1,3,4,5))
[1] 3.25
[/shell]



コメントを残す