前回、データフレームの一部の参照についてまとめました。今回はその補足です。
リスト形式での参照
データフレーム形式のオブジェクトに以下のようにアクセスするとデータの一部のみが参照されますが、その形式はデータフレームのままになりました。このような参照方法をリスト形式と呼んでいました。
df <- data.frame(x = rnorm(100), y = 1:100) subdf <- df["x"]
このような形式で呼び出すと、ベクトルオブジェクトを引数に取る関数が使えません。なので以下のコードにはエラーが出ます。
#エラーが出ます mean(df["x"])
データフレームの内部を参照するための[[
[[を利用すると、データフレームの内容をベクトルオブジェクトとして参照できます。よって、以下のコードでは、エラーを出さずに関数の戻り値がかえってきます。
#エラーが出ずに平均値がかえってきます mean(df[["x"]])
前回に引き続き、わずかな違いで結果がずいぶん違いますね。使い分けをしっかり覚えたいと思います。