You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助重写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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:07:07