0
我試圖動態地將一些數據幀傳遞給一個函數,該函數將返回每個數據幀的一些統計結果。目的是將統計結果並排繪製。我有問題,我的數據框分配給函數導致傳遞的數據框的名稱,而不是實際的數據框本身。R:將數據幀傳遞給函數動態
因此,例如,我的數據框被稱爲construct 1
但強似表示此結構的實際數據框,代碼似乎將名字傳下去construct 1
任何人都可以看到如何解決這個
# Get a list of all the dataframes in the workspace
my.dfs <- names(which(sapply(.GlobalEnv, is.data.frame)))
# Filter to just the Alpha DataFrames
my.dfs <- as.data.frame(my.dfs) %>%
filter(grepl('Alpha_', my.dfs)) %>%
mutate(my.table = as.character(my.dfs))
# Loop Through Each Table and get the Alpha Statistics
for (i in 1:nrow(my.dfs)){
construct = my.dfs$my.table[i]
construct_name = as.character(my.dfs$my.table[i])
create_cronbach_summ(construct, construct_name)
}
最終結果將類似於
Construct Name
Statistic 1
Statistic 2
Statistic 3....
我收到的錯誤消息是:
Error in UseMethod("select_") :
no applicable method for 'select_' applied to an object of class "character
Hi @Eric Lecoutre,如果我使用以下代碼:'construct = my.dfs $ my.table [1] construct = deparse(substitute(construct))'變量構造返回「構造」。如果我查看變量'my.dfs $ my.table [1]',我得到表格名稱在行情中尋找。有任何想法嗎? –
嗨@Eric,你的解決方案讓我走上了正確的軌道,因爲我能夠谷歌周圍,發現[這](https://www.quora.com/Could-someone-give-an-explanation-of-how- eval-quote-and-substitute-work-in-R),這使我得到了這樣的代碼:'a < - my.dfs $ my.table [1] y = eval(parse(text = a))' –