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

如何将数据框列名粘贴到列值中?R语言实现求助

解决方法

你的问题出在使用map时无法同时获取列名和对应值——map仅遍历列的数值,无法拿到列名。可以用以下两种方法实现需求:

方法一:使用purrr的imap函数

imap系列函数可以同时访问元素的名称和值,刚好匹配我们的拼接需求:

library(purrr)
library(dplyr)

df <- structure(list(`Student Enrollment` = 750, `Faculty Number` = 21, 
    Graduated = 65), row.names = c(NA, -1L), class = c("tbl_df", "tbl", "data.frame"))

# 生成拼接后的字符向量
result <- df %>% 
  imap_chr(~paste0(.y, "(N=", .x, ")"))

# 转为右侧示例的单列数据框格式
result_df <- tibble(Info = result)

方法二:Base R 实现

如果不想加载额外包,用基础R代码也能完成:

df <- structure(list(`Student Enrollment` = 750, `Faculty Number` = 21, 
    Graduated = 65), row.names = c(NA, -1L), class = c("tbl_df", "tbl", "data.frame"))

# 拼接列名和数值
result_base <- paste0(names(df), "(N=", unlist(df), ")")

# 转为单列数据框
result_base_df <- data.frame(Info = result_base)

两种方法最终都会得到你需要的单列结构,Info列的内容就是Student Enrollment(N=750)这类拼接后的字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:18:30