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

在R语言中为42个数据集添加唯一ID列并标记

为42个数据集批量添加唯一ID列

你有42个数据集,需要为每个数据集添加对应唯一ID(ID1至ID42),以下是两种高效的批量处理方案:

方法一:基础R实现

适合习惯使用基础R语法的场景,无需额外安装工具包:

  • 将所有数据集存入列表:假设你的数据集命名为df1、df2……df42,用mget快速批量获取:
# 批量读取数据集到列表
data_list <- mget(paste0("df", 1:42))
  • 批量添加ID列:用Map函数为每个数据集匹配对应ID值:
# 为每个数据集添加唯一ID列
data_list_with_id <- Map(function(df, id_num) {
  df$ID <- paste0("ID", id_num)
  df
}, data_list, 1:42)
  • 可选:将处理后的数据集导出回全局环境:
# 把带ID的数据集放回全局环境
list2env(data_list_with_id, .GlobalEnv)

方法二:tidyverse工具包实现

如果你常用tidyverse生态,用purrr包的map2函数可以更简洁地完成操作:

# 加载tidyverse(若未安装先执行install.packages("tidyverse"))
library(tidyverse)

# 批量读取数据集到列表
data_list <- mget(paste0("df", 1:42))

# 批量添加ID列
data_list_with_id <- map2(data_list, 1:42, ~ mutate(.x, ID = paste0("ID", .y)))

# 可选:导出到全局环境
list2env(data_list_with_id, .GlobalEnv)

验证示例

用你提供的示例数据集测试单数据集添加ID的效果:

# 示例数据集
example_df <- structure(list(X = 1:5, x1.time = c("00:00:00", "00:01:00", "00:02:00", 
"00:03:00", "00:04:00"), x1.AI_mean = c(0.323351574525762, 0.284159071937747, 
0.239749146757921, 0.230766586001914, 0.244456920325771), x1.MAD_mean = c(0.00341506508299082, 
0.00302928679541095, 0.00278424196850715, 0.00269385572703841, 
0.00270493856606347), x1.SD_mean = c(0.00477593690534784, 0.00405971881709533, 
0.00354415353173061, 0.00350825365755234, 0.00361817148789133
), x1.ENMO_t_mean = c(0.0239268821264327, 0.0237063614378219, 
0.0237014797190142, 0.0239896011495783, 0.0243401417506231), 
    x2.AI_mean = c(0.294080313622427, 0.477944468152524, 0.260808829802468, 
    0.456214057286552, 0.84614872784907), x2.MAD_mean = c(0.00263194956522427, 
    0.00393549027910995, 0.00242397010624937, 0.00473452632379309, 
    0.00967936115719858), x2.SD_mean = c(0.00620183543213348, 
    0.00897436349787661, 0.00376656976842411, 0.0102128144373202, 
    0.026857971881988), x2.ENMO_t_mean = c(0.0152786778953128, 
    0.0134201176591068, 0.0105504453766938, 0.0126154127095435, 
    0.0194672090503613), x3.AI_mean = c(0.0735792814229227, 0.0514050450635112, 
    0.105131723525748, 0.128627572902289, 0.402271889323791), 
    x3.MAD_mean = c(0.00139436591181368, 0.000712147674432812, 
    0.00119105634569394, 0.00119348650394604, 0.00356665669204264
    ), x3.SD_mean = c(0.00199624824940588, 0.00120092927705721, 
    0.00193145315212752, 0.0019283335835232, 0.00656874765265735
    ), x3.ENMO_t_mean = c(0.0139865818700652, 0.0139851935882149, 
    0.0139915889947178, 0.01398633901765, 0.0144706584272194), 
    x4.AI_mean = c(0.0156678651943813, 0.0486531274165618, 0.033482857018396, 
    0.0377258494079243, 0.0678175492814511), x4.MAD_mean = c(0.000251120428854605, 
    0.000562880039987649, 0.000528793978359871, 0.00124991974998928, 
    0.000757489838974229), x4.SD_mean = c(0.000533766751727111, 
    0.00134959539056406, 0.000857977081466285, 0.00213180063264727, 
    0.00127973763932144), x4.ENMO_t_mean = c(0.0207155829098077, 
    0.020761171880961, 0.0207540203103165, 0.0202677052046802, 
    0.0198891636700763), x5.AI_mean = c(0.117604774640621, 0.0670305430061501, 
    0.0341376355863943, 0.13364297618809, 0.306972659040445), 
    x5.MAD_mean = c(0.0014759342409207, 0.000989910934380608, 
    0.000403358793801372, 0.00146211525459881, 0.00279101071524453
    ), x5.SD_mean = c(0.00332215932515048, 0.00195612286464375, 
    0.00100728633289468, 0.00269074473283573, 0.00460104621279968
    ), x5.ENMO_t_mean = c(0.0154521138471442, 0.0154613646883262, 
    0.0154478187295753, 0.0157331526286594, 0.0158523807067694
    ), x6.AI_mean = c(0.100509771506111, 0.0758254065303984, 
    0.116304451335499, 0.128055772822219, 0.121857857811461), 
    x6.MAD_mean = c(0.000820743353091489, 0.000853723738604472, 
    0.00106905689779995, 0.00125348246046243, 0.00132633070226373
    ), x6.SD_mean = c(0.00122240006684591, 0.00122098986196308, 
    0.00200131128161969, 0.00174469241955932, 0.00180918568232773
    ), x6.ENMO_t_mean = c(0.0105689413754299, 0.0104679319373477, 
    0.0106510201902777, 0.0105852542321717, 0.0110441830680727
    ), x7.AI_mean = c(0.0286478750449268, 0.0515922904718244, 
    0.0711332148199368, 0.05020475938917, 0.0830762493042348), 
    x7.MAD_mean = c(0.000363376272209463, 0.000480238540942994, 
    0.000628916162718124, 0.000594606941057317, 0.000878481811277494
    ), x7.SD_mean = c(0.000583562490557928, 0.000759472323982701, 
    0.00117176811747496, 0.00112513562674996, 0.00137098279570074
    ), x7.ENMO_t_mean = c(0.0179026688120152, 0.0178767746038774, 
    0.0174193867673969, 0.0172732431081777, 0.0173507218269879
    )), row.names = c(NA, 5L), class = "data.frame")

# 为示例数据集添加ID1列
example_df$ID <- "ID1"
# 查看前几行结果
head(example_df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:45:33