data.frame() で$を使わずに変数を指定する方法
data.frame()でデータにアクセスするとき,
data <- data.frame(x=2, y=3) data$x*data$y 6
のように,(データフレーム名)$(列名)でデータにアクセスできる.
これだと,いちいちデータフレーム名を指定するので面倒.
そこで,attach()関数を利用する.
data <- data.frame(x=2, y=3) attach(data) x*y 6
簡単!
ただし,この方法ではデータフレーム内の変数(列名)と同じ名前のグローバル変数が存在するとき,グローバル変数が優先されてしまう(a_bickyさんからコメントをいただきました).
つまり,
data <- data.frame(x=2, y=3) x <- 5 attach(data) x*y 15
となってしまう.
そこでより確実かつ安全な方法として,with()関数を用いる方法がある.
data <- data.frame(x=2, y=3) x <- 5 with(data, x*y) 6
より確実で正しい結果が得られる.