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

如何构建函数从列表中数据框的列名提取数字并替换列值

批量处理数据框列表:提取列名数字替换对应列值

需要处理一个包含大量数据框的列表,核心目标是:提取每个数据框最后一列列名中的纯数字,并用该数字替换该列的所有数值。

示例数据

df1 <- data.frame(A = 1, B = 2, xx123xx = NA)
df2 <- data.frame(X = 1, Y = 2, xx456xx = NA)
dfList <- list(df1, df2)

构建处理函数

我们可以编写一个自定义函数,对单个数据框完成需求中的操作:

process_df <- function(df) {
  # 获取最后一列的索引
  last_col_idx <- ncol(df)
  # 提取最后一列的列名,移除非数字字符后替换列值
  df[, last_col_idx] <- gsub("[^0-9]", "", colnames(df)[last_col_idx])
  return(df)
}

批量处理整个列表

使用lapply对列表中的所有数据框批量应用上述函数:

dfList_processed <- lapply(dfList, process_df)

处理后结果

运行print(dfList_processed)会得到预期输出:

[[1]]
  A B xx123xx
1 1 2      123

[[2]]
  X Y xx456xx
1 1 2      456

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:39:51