В настоящее время мне поручено объединить несколько файлов xlsx в один файл данных master R (.rds). Поскольку эти файлы заполняются вручную, при использовании таких подходов, как dyplr :: bind_rows, таких как
, возникает много ошибок преобразования типов.
Column ``XYZ`` can't be converted from numeric to character
Хотя мне очень нужно, чтобы привязка была «умной», чтобы она происходила в соответствии с именами соответствующих столбцов объединяемых фреймов данных - при возникновении проблем преобразования вместо получения ошибки, я бы хотела иметь эти проблемные ячейки содержимое обрабатывается как NA и не выдает ошибку - возможно, только предупреждение.
Есть ли удобный способ / функция для этого в R?
Я использовал bind_rows из пакета dyplr.
Моя текущая процедура импорта
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)
}
Было отмечено, что использование цикла здесь неэффективно, но, поскольку файлы беспорядочные - много ручных ошибок - и их относительно мало, я сосредоточился на возможности последовательного отслеживания процесса привязки.