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

如何在R中对dataframe进行自定义聚合生成指定结构的宽表

不需要通过手动遍历原始df实现,使用dplyr搭配tidyr的函数即可快速完成需求,实现代码如下:

首先加载所需依赖包:

library(dplyr)
library(tidyr)

转换逻辑代码:

df.out <- df %>%
  # 按group、feature两个维度分组,将同组同feature下的tx值用|拼接
  group_by(group, feature) %>%
  summarise(tx_comb = paste(tx, collapse = "|"), .groups = "drop") %>%
  # 长表转宽表,feature值作为列名,拼接后的tx作为对应列的值
  pivot_wider(names_from = feature, values_from = tx_comb)

运行上述代码得到的df.out和你给出的预期输出完全一致,无匹配值的位置会自动填充为NA。
如果已经安装了stringr包,也可以将paste(tx, collapse = "|")替换为stringr::str_c(tx, collapse = "|"),执行效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:36:02