Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 循环多个数据集中的列名以修复名称差异_R - Fatal编程技术网

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

R 循环多个数据集中的列名以修复名称差异,r,R,我有多个数据集,它们的列结构相同,但行长度不同。当我去堆叠它们时,rbind偶尔会出现问题,因为一个文件的列名可能是大写的,而另一个文件的列名可能是小写的。我想在开始时运行一些东西,将所有内容转换为小写(因为它不区分大小写) 当我一次性执行以下操作时,转换工作正常。然而,我试图通过一个循环来实现这一点,却把事情搞砸了 这很有效 names(fmli3) <- tolower(names(fmli3)) names(fmli3)原始代码的问题在于df_qtr不是5个数据帧的列表。您可以检查

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

当我一次性执行以下操作时,转换工作正常。然而,我试图通过一个循环来实现这一点,却把事情搞砸了

这很有效

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

names(fmli3)原始代码的问题在于
df_qtr
不是5个
数据帧的列表。您可以检查
长度(df\u qtr)
进行验证

使用以下语法将多个
数据.frame
连接到
列表中

 df_qtr <- list( fmli1, fmli2, ...)
df_qtr可能重复的
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)
}
 df_qtr <- list( fmli1, fmli2, ...)