2016-05-13 62 views
0

我有一個字符串列表list = c("string_1", "string_2", ...),並且基於此向量,我知道在我的環境中有數據框名爲df_string_1, df_string_2, ...將一些函數應用於其字符串名稱中的變量

我的代碼是這樣的:

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 
} 

我不能找到一個辦法讓在每次迭代數據幀df_string_i。 我的嘗試是得到它的名字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

相關問題