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

如何在R语言中合并DataFrame两列生成带下划线的EYE_ID列

问题描述

我有一个包含两列("EYE"和"ID")的DataFrame df,想通过将这两列元素以下划线_分隔合并,创建第三列"EYE_ID"。示例数据如下:

df <- tibble::tibble(ID = replicate(5, 'GATE'),
                     EYE = seq(1, 5, 1))

期望得到的结果:

ID      EYE     EYE_ID
  <chr> <dbl>   <chr>
1 GATE      1   GATE_1
2 GATE      2   GATE_2
3 GATE      3   GATE_3
4 GATE      4   GATE_4
5 GATE      5   GATE_5

解决方案

这里提供几种在R中实现该需求的常用方法:

1. 使用tidyverse工具链(推荐)

借助dplyr::mutate和stringr::str_c完成拼接,代码风格简洁易读,适合常规数据处理场景:

library(tidyverse)

df <- df %>%
  mutate(EYE_ID = str_c(ID, EYE, sep = "_"))

2. Base R原生方法

如果不想加载额外包,直接用base R的paste或paste0函数即可:

  • 用paste指定分隔符:
df$EYE_ID <- paste(df$ID, df$EYE, sep = "_")
  • 用paste0手动拼接下划线:
df$EYE_ID <- paste0(df$ID, "_", df$EYE)

验证结果

执行上述任意一种方法后,打印df就能得到符合预期的结果:

print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:55:58