*はじめに [#b3c8dba1]
ここでは,Rにデータを読み込む方法を説明します.
この記事は,『Rによるバイオインフォマティクスデータ解析』を参考にしています.
Rにデータを読み込む方法は,この本の2.15節「入出力」に出てきます.
#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=tohgoroh-22&o=9&p=8&l=as1&asins=4320057082&ref=tf_til&fc1=444B4C&IS2=1<1=_blank&m=amazon&lc1=444B4C&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}
*準備 [#t46fd7ed]
Rのインストールについては,次のページを見てください.
-[[MacでRを使う>機械学習/MacでRを使う]]
-[[WindowsでRを使う>機械学習/WindowsでRを使う]]
データ・ファイルはCSV形式とします.
つまり,項目はコンマ区切り,データは改行区切りとします.
Excelでデータを作成し,CSV形式で保存すればできます.
保存したファイルをテキスト・エディターで開いて確認してください.
ここでは,irisデータの一部である以下のようなファイルとします.
#geshi(txt){{
,Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,Species
1,5.1,3.5,1.4,0.2,setosa
51,7.0,3.2,4.7,1.4,versicolor
101,6.3,3.3,6.0,2.5,virginica
}}
このCSVファイルは,1行目が列名,1列名がデータ名となっています.
*作業ディレクトリーの変更 [#gb8459dd]
まずは,作業ディレクトリーをCSVファイルが置いてあるディレクトリーに変更します.
現在のディレクトリーを調べるには,getwd関数を使います.
#geshi(rsplus){{
> getwd()
}}
作業ディレクトリーを変更するには,setwd関数を使います.
#geshi(rsplus){{
> setwd("/Users/tohgoroh/Desktop")
}}
ここでは,作業ディレクトリーを /Users/tohgoroh/Desktop に変更しています.
*行列データの読み込み [#uf502a43]
CSVファイルを読み込んで行列を作成するには,''read.csv関数''を使用します.
#geshi(rsplus){{
> data <- read.csv("data.csv")
}}
デフォルトは1行目が列名(header=T),データ名の列はなしです.
1列目がデータ名の場合,"row.names"オプションを指定します.
#geshi(rsplus){{
> data <- read.csv("data.csv", row.names=1)
}}
1行目が列名でないとき,headerオプションの値をFにします.
#geshi(rsplus){{
> data <- read.csv("data.csv", header=F)
}}
ここでは,1行目が列名,1列目がデータ名なので,次のようになります.
#geshi(rsplus){{
> data <- read.csv("data.csv", row.names=1)
> data
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
51 7.0 3.2 4.7 1.4 versicolor
101 6.3 3.3 6.0 2.5 virginica
}}
読み込まれたデータは,データフレームという構造になります.
*参考文献 [#lb51dfcf]
#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=tohgoroh-22&o=9&p=8&l=as1&asins=4320057082&ref=tf_til&fc1=444B4C&IS2=1<1=_blank&m=amazon&lc1=444B4C&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}