我在以前的dplyr
(0.8.0.1)版本下具有工作功能,但是现在它打印点而不是列名。
打印仅是一种虚拟方法。在我的真实代码中,我在sweetalert
消息中打印列名,该消息使R Shiny app
的用户可以在进行长计算时得到更新。这里的伪代码是更广泛的dplyr
代码的一部分
也许新的dplyr
中存在一个错误,但是如果有人坚持使用dplyr
的方法知道如何在函数中检索列名,我会很高兴听到它。
我尝试使用干净的会话,仅加载dplyr
和multimode
,并且行为随着dplyr
的版本而改变
library(dplyr) # version 0.8.1 vs 0.8.0.1 used here
library(multimode)
funx <- function(x) {
print(substitute(x))
multires <- multimode::modetest(x, method = 'SI')
p <- multires$p.value}
mtcars %>%
select(1:2) %>%
summarise_all(list(~ funx(.)))
答案 0 :(得分:0)
具有讽刺意味的是,在获得有关github帖子的反馈后,使用新版本,我们现在可以执行此操作:
mtcars %>%
select(1:2) %>%
summarise_all(funx)
实际上与我在发布此问题时开始提出问题时使用的语法完全相同,但是在先前的dplyr
版本时,这还不可能。
因此,dplyr
小组的出色工作使语法更加“自然”。