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

如何将不同长度的命名向量合并为按同名元素求和的data frame

R语言实现多个命名向量同名元素求和
  • 以下方案支持任意数量、长度不一的命名向量,自动匹配同名元素完成求和,最终输出为data frame格式

首先构造示例向量(你实际使用时可以替换为自己的向量对象):

# 示例向量1
vec1 <- c(adjust = 4, balance = 9, drive = 16, idle = 82, other = 4, 
          pick = 350, putdown = 61, replace = 16, sort = 26, wait = 18, walk = 14)
# 示例向量2
vec2 <- c(adjust = 1, balance = 42, drive = 14, idle = 47, pick = 385, 
          putdown = 118, replace = 4, sort = 83, unload = 19, walk = 7)

核心实现代码

# 1. 将所有需要处理的向量存入列表,有多少个就加多少个
vec_list <- list(vec1, vec2)

# 2. 合并所有向量数据并按元素名称分组求和
stacked_data <- stack(vec_list)
sum_result <- tapply(stacked_data$values, stacked_data$ind, sum)

# 3. 转换为data frame格式
result_df <- as.data.frame(t(sum_result))

可选补充:仅保留所有向量共有的字段

如果不需要只在部分向量中出现的字段,可以增加以下过滤步骤:

# 提取所有向量共有的元素名称
common_names <- Reduce(intersect, lapply(vec_list, names))
# 过滤结果,仅保留共有字段
result_df <- result_df[, common_names]

输出示例

执行后打印result_df即可得到求和结果:

adjust balance drive idle pick putdown replace sort walk
1      5      51    30  129  735     179      20  109   21

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:48:02