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

如何根据type变量的值为var变量添加对应指定后缀?

根据type为var添加后缀的最简实现方法

首先还原你的数据框:

df <- structure(list(var = c("test", "test", "score", "score", "base", 
"base"), type = c("white", "black", "white", "black", "white", 
"black")), row.names = c(NA, -6L), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"))

方法1:Base R 原生写法

直接用ifelse生成对应后缀,再通过paste0拼接:

df$new_var <- paste0(df$var, ifelse(df$type == "white", "_t", "_b"))

方法2:tidyverse(dplyr)写法

如果你习惯用tidyverse生态,用mutate配合条件判断即可:

library(dplyr)

# 用case_when(适合后续多条件扩展)
df <- df %>%
  mutate(new_var = paste0(var, case_when(type == "white" ~ "_t", type == "black" ~ "_b")))

# 仅两个条件时,用ifelse更简洁高效
df <- df %>%
  mutate(new_var = paste0(var, ifelse(type == "white", "_t", "_b")))

两种方法最终都会生成目标新列,结果示例:

# A tibble: 6 × 3
  var   type  new_var
  <chr> <chr> <chr>  
1 test  white test_t 
2 test  black test_b 
3 score white score_t
4 score black score_b
5 base  white base_t 
6 base  black base_b 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:11:20