R入門」 第3章:オブジェクト、 そのモードと属性

「R入門」
第6章:リストとデータフレーム
6.3 データフレーム
発表日:10月30日
担当者:脇坂恭志郎
データフレーム
・データフレーム(data frame):
data.frameクラスを持つリスト。
入れることの出来るリストには幾つかの制限がある。
データフレームの制限
<制限>
①成分はベクトル(数値、文字、論理値)、因子、数値行列、リスト、
もしくは他のデータフレームに限られる。
②行列、リスト、データフレームは、それらが持つ列、要素、変数と
同じ数の変数を新しいデータフレームに付け加える。
③数値ベクトル、論理値、因子はそのままの状態で含まれるが、
文字ベクトルは因子に強制変換される。
④データフレームに変数として現われるベクトル構造は全て同じ
「長さ」を、行列構造は同じ「行サイズ」を持たなければならない。
データフレームの作成
関数 data.frame を用いてデータフレームを作成する。
(データフレームの成分に対する要請を満たすもののみ)
ex. Lst <- list(name=“fujiP”, age=21, sex=“male”)
これを dataframe(Lst) とする事により、
name age sex
1 fujiP 21 male
…と表す事が出来る
・リスト成分がデータフレームの要請を満たせば、関数
As.data.frame()を用いてデータフレームに強制変換可。
・新規に作るには read.table() 関数を用いる。
関数 attach() と detach()
・関数 attach():
データフレームを検索リストに追加する。
通常「R」で式計算を行っている場所は、「探索リストの第一番目」の
位置にある作業スペースである。
ここで、三つの変量(x,y,z)を持つlentilsを attach(lentils) とおく事に
より、lentilsを「探索リストの第二番目」の位置におき、その変数
(x,y,z)を「第一番目」の作業スペースで永続的に使用できる。
※この場合、lentilsのx に変更を加えたい時は
lentils$x <- ○▽□ とすれば良い。
・関数 detach():
データフレームを検索リストから削除する。
任意のリストの登録
・ attach() はディレクトリやデータフレームを検索リストに
登録するだけでなく、他のオブジェクトのクラスの登録も
できる。
モードが “list” の任意オブジェクトは、
attach(any.old.list)
とする事で登録できる。
・登録されたものは全て、それぞれの持つ位置番号や
名前を使って detach() で抹消できる。
検索パスの操作
・関数 search():
現在の検索パスを示し、どのようなデータフレームや
リストが追加・除去されたかを追跡する。
ex. 既にLstをデータフレームとして追加していた場合、
> search()
[1] “GlobalEnv” “Lst” “package:ctest” ……
と、表示される。
Lstの中身を表示させたい時は、位置番号ls(2)を
入力すれば良い。
課題!
以下の二問の動作を確認せよ…
① list (name=“○○”, age=○○, blood_type=“○○”) という
個人情報リストを作り、それをデータフレームに変換せよ。
(変換後の出力もチェック!)
② 関数search を用いて、作業スペース内にある①のリストが
ある事を確認せよ。確認次第、抹消するように!