jnobuyukiのブログ

研究していて困ったことやその解決に関するメモ。同じように困ったあなたのために。twitter ID: @j_nobuyuki

R言語でデータフレームの一部を参照する方法(2)

前回、データフレームの一部の参照についてまとめました。今回はその補足です。

webbeginner.hatenablog.com

リスト形式での参照

データフレーム形式のオブジェクトに以下のようにアクセスするとデータの一部のみが参照されますが、その形式はデータフレームのままになりました。このような参照方法をリスト形式と呼んでいました。

df <- data.frame(x = rnorm(100), y = 1:100)
subdf <- df["x"]

このような形式で呼び出すと、ベクトルオブジェクトを引数に取る関数が使えません。なので以下のコードにはエラーが出ます。

#エラーが出ます
mean(df["x"])

データフレームの内部を参照するための[[

[[を利用すると、データフレームの内容をベクトルオブジェクトとして参照できます。よって、以下のコードでは、エラーを出さずに関数の戻り値がかえってきます。

#エラーが出ずに平均値がかえってきます
mean(df[["x"]])

前回に引き続き、わずかな違いで結果がずいぶん違いますね。使い分けをしっかり覚えたいと思います。