首页 > 解决方案 > 如何绑定 R 中的行,而不是类型转换错误绑定默认为将值填充为 NA?

问题描述

我目前的任务是将多个 xlsx 文件合并到一个主 R (.rds) 数据文件中。由于这些文件是手动填写的,因此在使用诸如 dyplr::bind_rows 之类的方法时会出现很多类型转换错误,例如

Column ``XYZ`` can't be converted from numeric to character

虽然我非常需要绑定是“智能的”,以便它根据要合并的数据帧的相应列名发生 - 当遇到转换问题而不是出现错误时,我希望将这些有问题的单元格内容视为NA 并没有得到错误 - 也许只是一个警告。

在 R 中是否有方便的方法/功能来执行此操作?

我使用了 dyplr 包中的 bind_rows。

我目前的导入程序

files  <- list.files("data",pattern = "xlsx", full.names = TRUE)

tmp <- read_excel(files[1], sheet = "data", trim_ws = TRUE)
names(tmp) <- make.names(str_squish(names(tmp)))

for (i in 2:length(files)) {
  print(i)
  tmp2 <- read_excel(files[i], sheet = "data",trim_ws = TRUE)
  names(tmp2) <- make.names(str_squish(names(tmp2)))

  tmp<-bind_rows(tmp,tmp2)
}

有人指出,在这里使用循环效率不高,但由于文件很乱——很多手动错误——而且数量相对较少,我专注于能够顺序跟踪绑定过程。

标签: rdplyrbindrowsna

解决方案


推荐阅读