まず,たたき台となるデータフレーム x を作成する.
|
データフレーム x
|
このデータフレーム x にアクセスする方法を紹介する.
|
コマンド |
機能 |
|
x$列名,x["列名"],x[["列名"]] |
列データ(例えば SEX や WEIGHT )にアクセスする. |
|
x[2], x[[2]] |
2 番目の列データにアクセスする. |
|
x[3, 2], x[[3, 2]] |
3 行 2 列目のデータにアクセスする. |
|
x[[3, "列名"]], x[[3, "列名"]] |
指定した列の 3 行目のデータにアクセスする. |
|
x[c(1, 2)] |
1 列目と 2 列目のデータにのみアクセスする.x[ , c(1, 2)] も同じ. |
|
x[c(3, 4), ] |
3 行目と 4 行目のデータにのみアクセスする. |
|
x[c(1,3,5,2,4), ] |
順序ベクトル c(1,3,5,2,4) の順に行を並べかえる. |
|
x[ ,c(T,F,T)] |
論理ベクトル c(T,F,T) が TRUE となっている列にのみアクセスする. |
|
x[x$SEX=="F", ] |
性別が F(女性)である行にのみアクセスする. |
|
x[x$SEX=="F" & x$WEIGHT>50, ] |
性別が F(女性)かつ体重が 50kg 以上である行にのみアクセスする. |
以下にいくつかの例を示す.
データの変更や追加,消去方法はベクトルや行列とほぼ同じである.例えば x[[2]]
や x[2] でデータフレームの 2 列目にアクセスすることが出来る.
x[[2]] # 第 2 列のデータを見る -> a[2] でもよい [1] 158 162 177 173 166 x[c(1,3,4),] # 第 1, 3, 4 行を抜き出す SEX HEIGHT WEIGHT 1 F 158 51 3 M 177 72 4 M 173 57 |
データを消去する場合は,行や列に NULL を代入すればよい.
x[[2]] <- NULL # 第2列を消去:列の消去は NULL を代入する.x <- x[,-c(2)] でも同じ結果 x SEX WEIGHT 1 F 51 2 F 55 3 M 72 4 M 57 5 M 64 |
データをセル形式で見る場合は関数 edit(データフレーム名) を用いる.
x <- edit(x) |
データをクリックすることで値を編集することが出来,列名をクリックすれば数値型と文字型の選択,列名の変更などが行える.編集が終了したらウインドウを閉じることで,変更が反映される.
|
【Windows 版】 |
【Mac OS X 版】 |
以下に類似の関数を示す.例えば data.entry(x$ID, x$SEX) と,列の一部を編集したいときに使用する.
|
コマンド |
機能 |
|
data.entry(..., Modes = NULL, Names = NULL) |
Modes で変数に使用されるモード, Names で変数に使用される名前を指定してセルで編集する. |
|
dataentry(data, modes) |
data で数値および文字ベクトルのリストを,modes で変数のモードを与えるデータの長さのリスト (list()でも可) を指定してセルで編集する. |
|
de(..., Modes = list(), Names = NULL) |
上の 2 つとほぼ同様. |
データフレームを行列などの他の型に変換する場合は,この頁 に紹介されている関数を用いればよい.例えば,データフレームを行列に変換する場合は関数 data.matrix() を用いる.
また,データフレームに関する詳細な情報を得る場合は関数 str() を,データフレームかどうかを検査する場合は関数 is.data.frame() を用いればよい.