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

在R中修改以C_1结尾的指定列的字符值

实现方法

方法一:Base R 原生语法

  1. 定位所有列名以_C_1结尾的列:
cols_to_modify <- grep("_C_1$", colnames(df), value = TRUE)
  1. 定义值映射规则:
map_rules <- c(
  apple = "sweet-sour",
  banana = "sweet",
  kiwi = "sour",
  milk = "tasteless"
)
  1. 批量替换目标列的取值:
df[cols_to_modify] <- lapply(df[cols_to_modify], function(col) map_rules[col])

方法二:dplyr 语法(简洁直观)

先加载dplyr包,通过across()匹配目标列,再用recode()完成值映射:

library(dplyr)

df_modified <- df %>%
  mutate(
    across(
      matches("_C_1$"),  # 匹配列名以_C_1结尾的列
      ~ recode(.,
        apple = "sweet-sour",
        banana = "sweet",
        kiwi = "sour",
        milk = "tasteless"
      )
    )
  )

验证效果

查看修改后目标列的前几行结果:

head(df_modified[, cols_to_modify])

原apple/banana/kiwi/milk会被替换为对应的描述值,非目标列(如H_1E_1、I_1D_1等)保持原样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:40:22