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

R语言如何通过变量名向量创建行求和新列并自动拼接命名

实现方案

核心思路是先用paste0()拼接向量Vec的所有元素生成动态列名,再将行和的计算结果赋值给对应列即可。

基础R实现(推荐,代码最简洁)

# 拼接生成动态列名
new_col <- paste0(Vec, collapse = "")
# 计算指定列的行和,直接赋值为新列
data[[new_col]] <- rowSums(data[, Vec], na.rm = TRUE)

na.rm = TRUE为可选参数,若你的数据存在缺失值,加上该参数可以跳过NA计算求和,否则整行结果会返回NA。

原有cbind写法的修正方案

如果你习惯用cbind的写法,只需给新生成的列动态命名即可:

data <- cbind(data, setNames(data.frame(rowSums(data[, Vec], na.rm = TRUE)), paste0(Vec, collapse = "")))

dplyr实现(如果你用tidyverse生态)

library(dplyr)
data <- data %>%
  mutate(!!paste0(Vec, collapse = "") := rowSums(across(all_of(Vec)), na.rm = TRUE))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:18:02