Rでデータを読み込む

2020-01-24 (金) 13:17:36 (1551d) | Topic path: Top / バイオ・データ・マイニング / Rでデータを読み込む

はじめに

ここでは、Rにデータを読み込む方法を説明します。

この記事は、『Rによるバイオインフォマティクスデータ解析』を参考にしています。 Rにデータを読み込む方法は、この本の2.15節「入出力」に出てきます。

準備

Rのインストールについては、次のページを見てください。

データ・ファイルはCSV形式とします。 つまり、項目はコンマ区切り、データは改行区切りとします。

Excelでデータを作成し、CSV形式で保存すればできます。 保存したファイルをテキスト・エディターで開いて確認してください。

ここでは、irisデータの一部である以下のようなファイルとします。

,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列名がデータ名となっています。

ここから元のファイルがダウンロードできます。

作業ディレクトリーの変更

まずは、作業ディレクトリーをCSVファイルが置いてあるディレクトリーに変更します。

現在のディレクトリーを調べるには、getwd関数を使います。

getwd()

作業ディレクトリーを変更するには、setwd関数を使います。

setwd("/Users/tohgoroh/Desktop")

ここでは、作業ディレクトリーを /Users/tohgoroh/Desktop に変更しています。

行列データの読み込み

CSVファイルを読み込んで行列を作成するには、read.csv関数を使用します。

data <- read.csv("data.csv")

デフォルトは1行目が列名(header=T)、データ名の列はなしです。

1列目がデータ名の場合、"row.names"オプションを指定します。

data <- read.csv("data.csv", row.names=1)

1行目が列名でないとき、headerオプションの値をFにします。

data <- read.csv("data.csv", header=F)

ここでは、1行目が列名、1列目がデータ名なので、次のようになります。

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

読み込まれたデータは、データフレームという構造になります。

離散値のファクター化

カテゴリー変数やラベル(つまり離散値)はファクターになっていないと、カテゴリー分析ができません。

read.csv関数で離散値の属性を読み込むと自動でファクターにしてくれますが、自動でファクターにならなかった場合は自分でファクターにします。

まず、その属性ベクトルだけを取り出し、ファクターになっているかどうか調べます。

data$Species
[1] setosa versicolor virginica
Levels: setosa versicolor virginica

このように、Levels: ... と表示されたらファクターになっています。

もし、自動でファクターになっていない場合には、factor関数をを使って自分でファクターにします。

data$Species <- factor(data$Species)

もう一度この属性ベクトルだけを取り出して、ファクターになっていることを確認してください。

参考文献

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS