R入門
Rを使ってみる
最終更新:
r-intro
目次
簡単な計算
起動する
>
足し算「1 + 1 = 2」を計算してみる。
> 1 + 1
[1] 2
答えである2の前に[1]が付いている。Rでは複数の値からなるベクトルとよばれる保存形式で計算を扱っており、この[1]は、1番目の値ということ。この式を説明すると「1という1つだけの値と、1という1つだけの値を足したら、2という1つだけの値が求まった」ということ。よくわからないだろうが、ベクトルの章を読むと、この意味がわかるようになる。今は深く考えない。
> 1 + 2
[1] 3
> 2 - 1
[1] 1
> 2 * 3
[1] 6
> 4 / 3
[1] 1.333333
> 5 / 2
[1] 2.5
> d1 <- 1.2
> d1
[1] 1.2
> d2 <- 3.4
> d2
[1] 3.4
> d1
[1] 1.2
> d1 + d2
[1] 4.6
> d1 - d2
[1] -2.2
> c(3, 2, 1)
[1] 3 2 1
> c(3, 2, 1) + 2
[1] 5 4 3
> d1 <- c(3, 2, 1)
> d1
[1] 3 2 1
> d1 + 2
[1] 5 4 3
> d2 <- c(6, 5, 4)
> d1 + d2
[1] 9 7 5
様々な関数も使うことができる。三角関数を使ってみる。sin(0)(=0), sin(π/2)(=1), sin(π)(=0)を計算する。
最後の「1.224606e-16」は1.224606 -16 を表記したもの。内部で数値計算を行っている都合上、計算結果は必ずしも切りの良い結果が出力されるとは限らない。そのsin(π)=1がその顕著な例で、数値計算の結果、ほぼ0の値が求められたということであるため、0でないからおかしいと思ってはいけない。
統計学
1から10までの10個の数値における、平均、偏差平方和、分散、標準偏差を求める。それぞれ、組み込み関数をなるべく使わない方法と、組み込み関数を使う方法を示す。
計算対象の数値ベクトルをd、その数値の数をn、平均からの偏差平方和をdss、分散をs2、標準偏差をsとする。
> d <- 1:10
> d
[1] 1 2 3 4 5 6 7 8 9 10
> n <- length(d)
> n
[1] 10
平均を求めるときはmean関数を使う。
> sum(d) / n
[1] 5.5
> m <- mean(d)
> m
[1] 5.5
分散を求めるときはvar関数、標準偏差を求めるときはsd関数を使う。
> dss / (n - 1)
[1] 9.166667
> s2 <- var(d)
> s2
[1] 9.166667
> sqrt(dss / (n - 1))
[1] 3.02765
> s <- sd(d)
> s
[1] 3.02765
ただし、var関数で得られる値は上記のとおりに不偏分散(偏差平方和を「標本数-1」で割った値)、sd関数で得られる値は不偏分散の平方根であることに注意。
Rの終了
終了するには、q()と入力する。
> q()
Rでプログラミング
RでFortranやVisual C++のようなプログラミングは可能。非常に簡単な例として、画面に「Hello.」と表示するプログラム(スクリプト)を作成してみる。
メモ帳(他のテキストエディタでも可)を起動し、以下の1行を入力してprogram.Rとして保存する。
cat(sprintf("Hello.\n"))
Rを起動し、program.Rを保存したフォルダーに移動する(ここではC:\Workとした例)。
> setwd("C:/Work")
作成したプログラム(program.Rのこと)を実行する。実行するにはsource関数を使う。
> source("program.R")
Hello.
これでプログラムが実行された。本プログラムは画面に「Hello.」と表示するだけのプログラムなので、表示されてプログラムは自動で終了している。
Rはプログラミング言語として条件分岐や繰り返しの構文を十分備えていることから、いわゆるプログラミング言語としての機能は十分有しており、例えば100行や1000行を越えるようなプログラムの作成も十分可能である。