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

如何一次性将R dataframe中指定列与其余多列的值进行批量拼接?

R DataFrame单列与多列批量拼接实现方法

以下是两种常用的实现方案:

方法1:基础R实现

无需加载额外依赖,适合轻量使用场景:

  • 仅修改指定列(示例中为b、c列):
asd <- data.frame(a = c("A","B"), b = c("d","f"), c = c("x","y"))
# 选中需要拼接的列,批量执行a列+当前列的拼接操作
asd[, c("b", "c")] <- lapply(asd[, c("b", "c")], function(x) paste0(asd$a, x))
  • 自动匹配除a列外所有列进行拼接,不需要手动罗列列名:
target_cols <- setdiff(names(asd), "a")
asd[, target_cols] <- lapply(asd[, target_cols], function(x) paste0(asd$a, x))

方法2:dplyr(tidyverse生态)实现

语法更简洁易读,适合已经在使用tidyverse工具链的场景:

library(dplyr)
asd <- asd %>%
  # across参数1指定要处理的列,这里写-a就是排除a列,处理其余所有列
  mutate(across(-a, ~paste0(a, .x)))

如果只需要处理指定的b、c列,把-a替换成c(b,c)即可。

运行以上任意一种方案后,输出asd即可得到预期结果:

a  b  c
1 A Ad Ax
2 B Bf By

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 16:15:03