我想在中引用一個(gè)未知的列名summarise。引入的標(biāo)準(zhǔn)評(píng)估函數(shù)dplyr 0.3允許使用變量來(lái)引用列名,但是當(dāng)您base在內(nèi)調(diào)用R函數(shù)時(shí),這似乎不起作用summarise。library(dplyr)key <- "v3"val <- "v2"drp <- "v1"df <- data_frame(v1 = 1:5, v2 = 6:10, v3 = c(rep("A", 3), rep("B", 2)))df看起來(lái)像這樣:> dfSource: local data frame [5 x 3] v1 v2 v31 1 6 A2 2 7 A3 3 8 A4 4 9 B5 5 10 B我想刪除v1,按v3分組,并對(duì)每個(gè)組求和v2:df %>% select(-matches(drp)) %>% group_by_(key) %>% summarise_(sum(val, na.rm = TRUE))Error in sum(val, na.rm = TRUE) : invalid 'type' (character) of argumentNSE版本的select()工作正常,因?yàn)樗梢云ヅ渥址E版本的group_by()工作正常,因?yàn)樗F(xiàn)在可以接受變量作為參數(shù)并對(duì)其求值。但是,在函數(shù)內(nèi)部使用基本R函數(shù)時(shí),我還沒有找到獲得類似結(jié)果的dplyr方法。無(wú)效的事情:df %>% group_by_(key) %>% summarise_(sum(get(val), na.rm = TRUE))Error in get(val) : object 'v2' not founddf %>% group_by_(key) %>% summarise_(sum(eval(as.symbol(val)), na.rm = TRUE))Error in eval(expr, envir, enclos) : object 'v2' not found我已經(jīng)檢查了幾個(gè) 相關(guān)的 問題,但是到目前為止,沒有一個(gè)建議的解決方案對(duì)我有用。
dplyr中的標(biāo)準(zhǔn)評(píng)估:總結(jié)以字符串形式給出的變量
慕田峪9158850
2019-09-21 14:02:25