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

旧版dplyr(0.8.5)中across函数的等价替代写法

dplyr 0.8.5版本兼容改写方案

旧版dplyr无across()函数时,多列分组可以直接用group_by_at()实现,改写后代码和原逻辑输出完全一致,可直接在部署服务器运行:

grouping_columns <- as_name(plot_columns[["xaxis"]])
grouping_columns <- append(grouping_columns, as_name(plot_columns[["color"]]))
data <- plot_data %>%
  group_by_at(.vars = grouping_columns) %>%
  summarise(n = n(), offset = min(result_value),
            reorder_result_value = mean(result_value)) %>%
  as.data.frame

改动点说明

  • 仅调整分组语句:原代码group_by(across(all_of(grouping_columns)))的作用是按grouping_columns存储的列名字符向量完成分组,group_by_at()是dplyr 0.8.5原生支持的分组函数,直接传入字符向量形式的列名集合即可实现完全相同的分组效果
  • 汇总统计、转数据框的逻辑完全保留,没有做任何修改,运行结果和原新版代码无差异
  • 无需额外安装依赖,直接适配服务器现有dplyr 0.8.5环境

内容的提问来源于stack exchange,提问作者Muslimbek Abduganiev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:36:22