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

使用R将数据框同一行多单元格值合并到新增列的实现方法

实现方法

你的数据是data.table结构,直接使用如下单行代码即可完成需求,新增X15列存储每行非空值的逗号拼接结果:

df[, X15 := apply(.SD, 1, function(x) paste(x[x != ""], collapse = ","))]

逻辑说明

  • .SD 代表当前data.table的所有列
  • apply(.SD, 1, ...) 对数据按行遍历处理
  • 匿名函数中先过滤掉当前行的空字符串,再将剩余元素用逗号拼接为单个字符串
  • := 是data.table的原地赋值符号,不需要重新赋值给新变量,处理效率更高

如果你使用的是普通R数据框(非data.table结构),可以用基础R写法:

df$X15 <- apply(df, 1, function(x) paste(x[x != ""], collapse = ","))

注意事项

如果你的数据中空值是NA而非空字符串,只需要把判断条件x != ""替换为!is.na(x)即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:05