社会ノマド

備忘録と書きもの練習帳。とくに何らかのハンドリング系と、雑多な話題に関する読書録になるかなと思います。

オブジェクトの名前を関数内で使いたい

問題点

ohayouって名前のオブジェクト名がついたデータフレームがあった時、ohayou.csvにして保存する関数が欲しい場合の解決策。問題は、関数名に渡したohayouを引数内で名前に使おうと思っても使えない。つまり オブジェクト名にアクセスできない

解決策

deparse()とsubstitute()を使えばいける らしい。以下に保存の関数を書いた。いくつかのデータセットをfor文で順番にこの関数に投げればしかるべく名前で保存されていく。

save<- function(data){
  savename<- paste(deparse(substitute(data)),".csv",sep="")
  write.csv(data,savename)
}

Rで一歩メタに踏み出した。