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

R语言如何为列表内所有数据框批量添加原生行名作为唯一标识列

R语言实现批量为列表内所有数据框新增行名列的解决方案

方案1:基础R实现(无需额外安装包)

直接使用lapply遍历列表的所有元素即可,不管列表包含几百个元素都可以一次性处理完成,且不会修改原数据框的原生行名:

outcome <- lapply(outcome, function(df) {
  df$unique_id <- rownames(df)
  return(df)
})

如果需要保留原始的outcome列表不被覆盖,把赋值左侧的变量名改为其他名称即可,比如outcome_new。

方案2:tidyverse风格实现

习惯使用tidyverse生态的用户可以用purrr::map搭配dplyr::mutate实现,写法更简洁:

library(purrr)
library(dplyr)

outcome <- map(outcome, ~ mutate(.x, unique_id = rownames(.x)))

效果验证

处理完成后可以调用以下代码验证结果是否符合预期:

# 查看第一个数据框的前几行
head(outcome[[1]])

输出中可以看到新增的unique_id列取值和原生行名完全一致,原有行名也没有被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:27:01