実際には,データはファイルに保存してあることがほとんどです。 したがって,最初に,ファイルからデータを読み込み,それを変数に保存する必要があります。
多くの場合,実験データはExcel形式のファイルとして保存してあるはずです。 Rには,Excelファイルを直接読み込む方法が用意されていますが,エラーが生じる可能性もあります。 ここでは,エラーが起きにくい安全な方法を紹介します。
Rでは,テキスト形式のファイルを安全に読むことができます。 テキスト形式とは,Windowsでは「メモ帳」,Mac OS Xでは「テキストエディット」,Linuxではviやemacsで編集できる単純な形式のことです。 最初に行うことは,データをテキスト形式ファイルとして保存することです。
テキスト形式には,データの区切り文字によって,いくつかの種類があります。
また,ファイルの1行目について:
このページでは,説明のため,3種類の区切り方式(カンマ区切り,スペース区切り,タブ区切り)×2種類のヘッダ(ヘッダあり,なし)のサンプルファイルを用意しました。 各ファイルには,4処置について,それぞれ6個分のデータを保存してあります。 なお,このデータは,スネデカーとコクラン 著(津村・奥野・畑村 共訳)統計的方法 第6版の247ページから引用したものです。
| ヘッダあり | ヘッダなし | |
|---|---|---|
| カンマ区切り | file_csv_head.txt | file_csv.txt |
| スペース区切り | file_spc_head.txt | file_spc.txt |
| タブ区切り | file_tab_head.txt | file_tab.txt |
Rでファイルを読み込む前に,作業フォルダ(作業ディレクトリ)を変更しなければなりません。 作業フォルダとは,Rがファイルを読み書きする際に利用するフォルダのことです。 これを設定しなければ,Rはファイルの読み込みに失敗します。 詳しくは,R-Source 06. 作業ディレクトリの変更を参照し,ファイルを保存した場所に変更しておいてください。
用意したファイルには,データが表のように格納されています。 Rでは,このデータを,表のまま読み取ることができます。 そのためには,read.table() 関数を使用します。 基本的な使い方は,以下のようになります。
> x<-read.table("filename.txt")
上記の "filename.txt" の部分は,自分で保存したファイル名を入力します。 その際,忘れずにクオーテーションマークでくくってください。
区切り文字を変えたり,ヘッダの有無を指定するには,読み込み時のオプションを指定する必要があります。 上の例のように,何もオプションを指定しない場合には「スペース区切り」「ヘッダなし」として読み込みます。 オプションの使い方を以下に示します(TはTrue,FはFalseという意味です)。
> x<-read.table("filename.txt") # スペース区切り,ヘッダなし
> x<-read.table("filename.txt",header=F) # スペース区切り,ヘッダなし(別の書き方)
> x<-read.table("filename.txt",header=T) # スペース区切り,ヘッダあり
> x<-read.table("filename.txt",sep=",") # カンマ区切り,ヘッダなし
> x<-read.table("filename.txt",sep="\t") # タブ区切り,ヘッダなし
> x<-read.table("filename.txt",sep="\t",header=T) # タブ区切り,ヘッダあり
> x<-read.table("filename.txt",sep=",",header=T) # カンマ区切り,ヘッダあり
エラー表示が何も出なければ,正常に読み込めたことを意味します。 読み込みが成功すると,変数 x に,データが表のまま保存されます。 正しく読み込めたかどうかを確認してみます。 ヘッダ付きか無しかで,表示が変わることに注意してください。
# ヘッダ付きの場合 > x FAT1 FAT2 FAT3 FAT4 1 64 78 75 55 2 72 91 93 66 3 68 97 78 49 4 77 82 71 64 5 56 85 63 70 6 95 77 76 68 # ヘッダなしの場合 > x V1 V2 V3 V4 1 64 78 75 55 2 72 91 93 66 3 68 97 78 49 4 77 82 71 64 5 56 85 63 70 6 95 77 76 68
ヘッダをつけなかった場合,仮の項目名として,V1,V2…が自動的に割り当てられます。
このような表形式のデータ構造を,Rでは「データフレーム」と名付けています。 データフレームの各要素を取り出すには,以下のように入力してください。
> x[1,3] # 1行3列目の要素にアクセス [1] 75 > x[1,3]+10 # この要素は通常の変数のように扱うことができる [1] 85 > x$FAT2 # FAT2というヘッダを持つ列をベクトルとしてアクセスする [1] 64 72 68 77 56 95 > x[2] # 2列目をデータフレームとして抜き出す FAT2 1 78 2 91 3 97 4 82 5 85 6 77 > x["FAT2"] # こうしても同じ FAT2 1 78 2 91 3 97 4 82 5 85 6 77
基礎統計量は,各列ごとに算出できます。
> summary(x)
FAT1 FAT2 FAT3 FAT4
Min. :56.00 Min. :77.0 Min. :63.0 Min. :49.00
1st Qu.:65.00 1st Qu.:79.0 1st Qu.:72.0 1st Qu.:57.25
Median :70.00 Median :83.5 Median :75.5 Median :65.00
Mean :72.00 Mean :85.0 Mean :76.0 Mean :62.00
3rd Qu.:75.75 3rd Qu.:89.5 3rd Qu.:77.5 3rd Qu.:67.50
Max. :95.00 Max. :97.0 Max. :93.0 Max. :70.00
> mean(x)
FAT1 FAT2 FAT3 FAT4
72 85 76 62
> sd(x)
FAT1 FAT2 FAT3 FAT4
13.341664 7.771744 9.879271 8.221922
Rには,データフレームを操作するための手段がいくつも用意されています。 たとえば,ある範囲をとるデータだけを抜き出したり,特定の条件に当てはまる行だけを抽出したりできます。 このような高度な操作は,別のページにて,改めて紹介する予定です。
TOP