Rの初歩 Rのインストール
CRAN(「シーラン」または「クラン」,Comprehensive R Archive Network)のミラーサイト(日本では統数研 http://cran.ism.ac.jp/ など)からダウンロードし,インストールしてください。
Windowsについては Windows用Rガイド をご覧ください。
Mac版は,「R」メニューの「環境設定...」から各種設定ができます。Emacs派の人は,環境設定の「エディタ」で外部エディタとして /usr/bin/emacsclient コマンドを指定しておくといいでしょう(Emacsの初期設定ファイルで (server-start)
しておきます)。Emacsでの編集が終わったら C-x #
します)。
UNIX系OSの端末では,R
と打ち込んで起動します。カレントディレクトリがRの作業ディレクトリになります。
ESS - Emacs Speaks Statistics を使えばEmacsの中からRを使うことができます。アンダースコア _
が <-
に変換されたくない場合は (ess-toggle-underscore nil)
をEmacs側で設定しておきます。
簡単な計算
まず足し算です。プロンプト >
の右側に 123+456
と打ち込んでEnterキーを打ちます。[1]
の右側に出るのが答えです。
> 123+456 [1] 579
掛け算は *
,割り算は /
です。計算の順序は,通常の数式と同様,掛け算・割り算が先,足し算・引き算が後になります。
> 123*456-987/654 [1] 56086.49
どんどんやってみましょう。#
より右側はコメント(説明のための注釈)です。以下では説明のためにコメントをいろいろ書いていますが,実際に打ち込むときはコメントは必要ありません。
> pi # これは円周率 [1] 3.141593 > print(pi) # これでもいいかな [1] 3.141593 > print(pi,digits=16) # 桁数を増やしたい [1] 3.141592653589793
デフォルトの表示桁数を例えば16桁にしたければ options(digits=16)
のように打ち込みます。元に戻すには options(digits=7)
です。
Rのコンソールへの入力は,ヒストリー(履歴)機能が使えます。[↑]キー,[↓]キーで履歴を前後できます(Emacs中では M-p
,M-n
)。
> x = pi # x に pi の値を代入 > x # 入っているかな [1] 3.141593 > X # 大文字を打ち込むと エラー: オブジェクト "X" は存在しません
変数にあたるものをRではオブジェクトといいます。
Rは大文字・小文字を区別します。小文字 x
と大文字 X
はまったく別のものです。
> pi = 3 # いたずらをしてやろう > pi # どっちのpiがアクセスできるのだろう [1] 3 > rm(pi) # piをrm(remove,削除)すると > pi # 自分の作ったpiだけ消える [1] 3.141593
pi
のような既存のオブジェクトを上書きすることは,なるべく避けたほうがいいので,新しいオブジェクトを使いたいときには,Rコンソールに打ち込んでみて「オブジェクト …… は存在しません」というメッセージが現れるかどうか調べるといいでしょう。
1文字の定義済みのオブジェクトとしては c q t C D F I T
があります。
pi
(円周率 π = 3.14159...)は定義済みですが,e
(自然対数の底 e = 2.718...)は定義されていません。
> e エラー: オブジェクト "e" は存在しません
e = e1 = exp(1) ですから,指数関数 exp()
を使えば e が求められます。
> exp(1) # 指数関数なら [1] 2.718282
関数の括弧を閉じないとどうなるでしょうか。
> sin(pi/2 # おっと,括弧を閉じるのを忘れてEnterを押してしまった…… + ) # 閉じ括弧を入力してEnter [1] 1 >
このように,続きの入力を促すプロンプト +
が出ますので,その右側に続きを入力してEnterを押します。
ところで,答えの前にいつも出る [1]
とは何でしょう? 実は,Rでは値は一般にベクトルで,その要素番号(添字)が [1]
から始まるのです。つまり,この数字は各行の最初の要素番号です。
> x = 5:70 # xに長いベクトル (5,6,7,8,...,70) を代入 > x # 表示させてみる [1] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [18] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [35] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [52] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
x[1]
= 5, x[2]
= 6, x[18]
= 22, x[35]
= 39, ... というわけです。
一般のベクトルを入力するときは c()
という関数を使います。c
はcombineまたはconcatenate(結合する)の頭文字です。
> x = c(3.14, 2.718, 0.577) > x [1] 3.140 2.718 0.577 > x + 10 # 演算は個々の要素に作用する [1] 13.140 12.718 10.577 > x * 10 # * は掛け算の記号 [1] 31.40 27.18 5.77 > sqrt(x) # 関数も個々の要素に作用する [1] 1.7720045 1.6486358 0.7596052 > length(x) # ベクトルの長さ [1] 3 > sum(x) # 和 [1] 6.435 > mean(x) # 平均 [1] 2.145 > sd(x) # 標準偏差 [1] 1.374223 > x[1] # 配列の第1要素 [1] 3.14 > x[2:3] # 配列の第2〜3要素 [1] 2.718 0.577
ヘルプを読むには,RStudioなら右下のペインの「Help」で検索します(現時点ではすべて英語です)。
コマンドでヘルプを見たい場合の方法を列挙しておきます。
help.start()
… ブラウザでオンラインヘルプ help(mean)
または ?mean
… 特定の項目の表示 help("=")
や help("if")
… 予約語のヘルプ help.search("...")
… キーワード検索 apropos("...")
… 部分一致検索
終了するには,[閉じる]ボタンを使ってもいいのですが,Rのコンソールに
> q()
と打ち込むのが伝統的な方法です。q
はquit(終わる)の頭文字です。すると,
作業スペースを保存しますか?
または