参照
ググってたら以下のサイトが出てきたので、参照にして書きました。
Rで他言語みたいに変数名を変えながらfor文とかでつまったこと
結論
assign()を使うことで、x <- hoge
ではない方法でオブジェクトに値を代入できる。
assign(x, 'hoge')
利用例
これでfor文を回して、あれこれできる。
例えば、readr::read_csv()で一気にデータを読み取りたいとき
files <- list.files() # カレントディレクトリ下のファイル名を取得(全てcsvファイルとする)
for (i in 1:length(files)){
assign(str_sub(as.character(files[i]),end=-5), read_csv(files[i]))
}
# str_sub()しているのは、.csvを排除したファイル名を変数名にしたいため
まとめ
assign()を知っていると色々捗って便利!
(Pythonでも上と同じことをやりたいんですけど、上手い方法あるんですかね)