r - 如何绑定 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)
}
有人指出,在这里使用循环效率不高,但由于文件很乱——很多手动错误——而且数量相对较少,我专注于能够顺序跟踪绑定过程。
解决方案
推荐阅读
- php - 如何从 mysqli 结果中获取所有行?
- uwp - UWP - 调整大小后元数据中的图像大小未更改
- java - Android TabbedActivity - “MainActivity.java”中缺少案例语句
- tableau-api - Tableau 计算 - 字符串
- android - Admob 横幅广告未在 android P 中加载
- c++ - 有人可以解释一下复制功能的作用吗?
- c# - 循环 devexpress 控件 WinForms
- delphi - 为什么 Delphi IBX TWideMemoField 转换 UTF8 字符串中的字节顺序以及如何避免它?
- kubernetes - Kubernetes kubeflow 扩展不起作用
- python - Tcl_AsyncDelete 错误。无法终止 Tk