循环遍历多个数据集中的列名称以修复名称差异

时间:2016-03-07 19:00:06

标签: r

我有多个列结构相同但行长不同的数据集。当我去堆叠它们时,rbind偶尔会出现问题,因为一个文件的列名可能大写,而另一个文件可能小写。我想在开头运行一些东西,将所有内容转换为小写(因为这不区分大小写)。

当我执行以下一次性操作时,转换工作正常。但是,我试图通过一个循环来解决这个问题。

此作品

names(fmli3) <- tolower(names(fmli3))

不起作用

df_qtr <- c(fmli1, fmli2, fmli3, fmli4, fmli5)

for (i in 1:length(df_qtr)){
  names(df_qtr[[i]]) <- tolower(names(df_qtr[[i]]))
}

提前感谢您的帮助。

修改 感谢JWilliman在cross post(以及Shea指出)的回答,以下作品:

dfs <- c("fmli1", "fmli2", "fmli3", "fmli4", "fmli5")

for(df in dfs) {
  df.tmp <- get(df)
  names(df.tmp) <- tolower(names(df.tmp)) 
  assign(df, df.tmp)
}

1 个答案:

答案 0 :(得分:0)

原始代码的问题是fstat不是5 df_qtr的列表。您可以查看data.frame进行验证。

使用以下语法将多个length(df_qtr)连接到data.frame

list