バイオ・データ・マイニング/Rでデータを読み込む のバックアップの現在との差分(No.4)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#freeze
*はじめに [#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&lt1=_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&lt1=_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&lt1=_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&lt1=_blank&fc1=444b4c&lc1=444b4c&bg1=ffffff&f=ifr"></iframe>
}}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS