Rのデータフレームでアクセスする列名を動的に切り替えたい
ここしばらく R使いです。dplyrもお気に入り。
で、タイトルの件です。あるデータフレームがあって、それを処理する関数を作りました。関数の引数でアクセスする列を切り替えたいなと思ったわけです。eval使うのも面倒だしなーと。その時は泥臭い方法で、事前にアクセスする列名を決めておいて、colnamesでデータフレームの列名を変更していました。行けてない…。
colnames(dataframe) <- c('a', 'b', 'access')
dataframe$access <- ,,,,
colnames(dataframe) <- c('a', 'access', 'c')
dataframe$access <- ,,,,
そしたら今読んでいる本にもっとエレガントな方法が。
dataframe[['a']] <- ,,,,
これなら関数の引数に列名指定して、そのままアクセスできるということで。なんで気づかなかったんだろう。
読んでいるのはこちら。