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

R语言基于字符列匹配求和新增dataframe列的dplyr实现方法

解决方案

以下方案全程保留mean_data中initial_seeds列的原始字符格式,也不需要修改score_data中seed列的数值类型,仅用dplyr+stringr的基础函数即可实现,默认计算逻辑为comb_score等于当前行initial_seeds包含的所有seed对应score的总和,如果需要其他计算逻辑替换求和函数即可。

# 加载需要的包,均属于tidyverse生态
library(dplyr)
library(stringr)

核心处理代码:

result <- mean_data %>%
  # 逐行处理mean_data
  rowwise() %>%
  mutate(
    # 用单词边界\\b避免匹配错误,比如seed=1不会误匹配到initial_seeds里的11
    comb_score = sum(score_data$score[str_detect(initial_seeds, paste0("\\b", score_data$seed, "\\b"))])
  ) %>%
  # 取消行组模式避免后续操作出错
  ungroup()

该方案全程不会对initial_seeds列做拆分、替换等修改操作,列的原始格式完全保留,运行后得到的结果如下:

initial_seedsmeancomb_score
1,25.6165
2,32.4110
3,46.575

如果有其他计算需求,比如要取匹配score的平均值,把代码中的sum改成mean即可,不需要改动其他逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:03:03