2016-05-13 12 views
0

文字列リストがlist = c("string_1", "string_2", ...)で、このベクトルに基づいてdf_string_1, df_string_2, ...という名前のデータフレームがあることがわかっています。私は、各繰り返しでデータフレームdf_string_iを取得する方法を見つけることができません文字列名から変数に関数を適用する

for (i in 1:length(list)){ 
    res = function(i) // dataframe depending on i, same ncol as df_string_i 
    rbind(df_list[i],res) // that's the line I don't know how to code 
} 

私のコードは次のようです。 私の試みはpaste("df_",list[i],sep="")で名前を取得することでしたが、rbindに変数が必要なので、この文字列をどうすればいいですか?

ありがとうございました!

答えて

0

df_string_1、...、df_string_nという名前のdata.framesがある場合は、長期的には、これらをリストに格納し、lapplyなどのツールを使用する方がよいでしょう。現在の問題を解決するには、getを使用してください:

for (i in 1:length(list)){ 
    res = function(i) // dataframe depending on i, same ncol as df_string_i 
    rbind(get(paste0("df_",list[i])),res) 
} 
+0

ああ、私は数秒で答えに勝つ。私は私を削除しています。ただし、データフレームは 'df_list_i'として保存されているので、' paste0( 'df_list _'、i) 'にする必要があります。 – shreyasgm

+0

get()は完璧に機能します。ありがとうございました。はい、私はすべての適用関数を認識していますが、私が持っているデータの構造を考えると、それを使用するのは難しいです。ありがとうshreyasgm :) – galzra

+0

ありがとう@shreyasgm。私はOPがこれを編集したと思う。最新の更新は 'list = c(" string_1 "、" string_2 "、...)'と 'paste(" df _ "、list [i]、sep =" ")'です。 – lmo

関連する問題