请求协助重写dplyr代码:funs()已在0.8.0版本中被弃用
解决dplyr中
funs()弃用的代码重写问题 原代码里的funs()在dplyr 0.8.0版本后已被弃用,同时summarise_all()也推荐用summarise()+across()的组合替代,重写后的代码如下:
bind_rows(summarise(., across(everything(), ~ if(is.numeric(.x)) sum(.x, na.rm = TRUE) else ""))) %>% na_if(0) %>%
关键改动说明:
- 用
across(everything(), ...)遍历所有列,替代原有的summarise_all() - 用lambda表达式
~定义列处理逻辑,替代funs(),其中.x指代当前处理的列 - 给
sum()添加na.rm = TRUE参数(可根据实际需求调整),避免因列中存在NA值导致求和结果为NA - 管道操作中的
.可以省略,dplyr会自动识别上下文
内容的提问来源于stack exchange,提问作者AVA
相关产品推荐
相关产品推荐

