読者です 読者をやめる 読者になる 読者になる

データフレームの列に変数を使ってアクセスするときは[[]]を使う

やりたいことはhogeという列をもったdfrmというデータフレームがあったときにhogeが入ったrow_nameという変数を使ってアクセスしたいというもの。

row_name <- hoge

# TODO: row_nameを使ってdfrm$hogeのようにアクセスするにはどうやって書けばいいの?!


いつも

dfrm$name

というアクセス方法しかやったことがなく「これきっとシンタックスシュガーで何かしら書き方あるんだろうなぁ」と思ってRクックブックをパラパラしたらP.66にあった。

1つの列を選択するには、以下のリスト表現のいずれかを使います。

dfrm[["name"]]

nameという名前の1列を返します。

dfrm$name

構文が異なるだけで上記と同じです。

ということで先の場合には、

dfrm[[row_name]]

でいけました。