*はじめに [#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>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="https://rcm-fe.amazon-adsystem.com/e/cm?ref=tf_til&t=tohgorohmatsu-22&m=amazon&o=9&p=8&l=as1&IS2=1&detail=1&asins=4320057082&linkId=f6db5311dcfd9a82f5dee20859d39574&bc1=ffffff<1=_blank&fc1=444b4c&lc1=444b4c&bg1=ffffff&f=ifr"></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列名がデータ名となっています。
ここから元のファイルがダウンロードできます。
-https://archive.ics.uci.edu/ml/datasets/Iris
*作業ディレクトリーの変更 [#gb8459dd]
まずは、作業ディレクトリーをCSVファイルが置いてあるディレクトリーに変更します。
現在のディレクトリーを調べるには、getwd関数を使います。
#geshi(rsplus){{
> getwd()
getwd()
}}
作業ディレクトリーを変更するには、setwd関数を使います。
#geshi(rsplus){{
> setwd("/Users/tohgoroh/Desktop")
setwd("/Users/tohgoroh/Desktop")
}}
ここでは、作業ディレクトリーを /Users/tohgoroh/Desktop に変更しています。
*行列データの読み込み [#uf502a43]
CSVファイルを読み込んで行列を作成するには、''read.csv関数''を使用します。
#geshi(rsplus){{
> data <- read.csv("data.csv")
data <- read.csv("data.csv")
}}
デフォルトは1行目が列名(header=T)、データ名の列はなしです。
1列目がデータ名の場合、"row.names"オプションを指定します。
#geshi(rsplus){{
> data <- read.csv("data.csv", row.names=1)
data <- read.csv("data.csv", row.names=1)
}}
1行目が列名でないとき、headerオプションの値をFにします。
#geshi(rsplus){{
> data <- read.csv("data.csv", header=F)
data <- read.csv("data.csv", header=F)
}}
ここでは、1行目が列名、1列目がデータ名なので、次のようになります。
#geshi(rsplus){{
> data <- read.csv("data.csv", row.names=1)
> data
data <- read.csv("data.csv", row.names=1)
data
}}
#geshi(rsplus){{
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
}}
読み込まれたデータは、データフレームという構造になります。
*離散値のファクター化 [#k1842902]
カテゴリー変数やラベル(つまり離散値)はファクターになっていないと、カテゴリー分析ができません。
read.csv関数で離散値の属性を読み込むと自動でファクターにしてくれますが、自動でファクターにならなかった場合は自分でファクターにします。
まず、その属性ベクトルだけを取り出し、ファクターになっているかどうか調べます。
#geshi(rsplus){{
> data$Species
data$Species
}}
#geshi(rsplus){{
[1] setosa versicolor virginica
Levels: setosa versicolor virginica
}}
このように、Levels: ... と表示されたらファクターになっています。
自分でファクターにするには、factor関数を使います。
もし、自動でファクターになっていない場合には、''factor関数''をを使って自分でファクターにします。
#geshi(rsplus){{
> data$Species <- factor(data$Species)
data$Species <- factor(data$Species)
}}
もう一度この属性ベクトルだけを取り出して、ファクターになっていることを確認してください。
*参考文献 [#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>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="https://rcm-fe.amazon-adsystem.com/e/cm?ref=tf_til&t=tohgorohmatsu-22&m=amazon&o=9&p=8&l=as1&IS2=1&detail=1&asins=4320057082&linkId=f6db5311dcfd9a82f5dee20859d39574&bc1=ffffff<1=_blank&fc1=444b4c&lc1=444b4c&bg1=ffffff&f=ifr"></iframe>
}}