Я попытался использовать функцию rbind.fill из пакета plyr для объединения двух фреймов данных со столбцом A, который содержит только цифры в первом фрейме данных, но (также) строки во втором фрейме данных. Воспроизводимый пример:
data1 <- data.frame(A=c(11111,22222,33333), b=c(4444,444,44444), c=c(5555,66666,7777))
data2 <- data.frame(A=c(1234,"ss150",123456), c=c(888,777,666))
rbind.fill(data1,data2)
Это привело к выводу ниже с неверными данными в столбце A, строках 4,5,6. Это не выдавало сообщение об ошибке.
A b c
1 107778 33434 6
2 1756756 4 7
3 2324234 5 8
4 2 NA 14562
5 3 NA 45613
6 1 NA 14
Я ожидал, что функция принудит весь столбец к классу символов или, по крайней мере, отобразит NA или предупреждение. Вместо этого он вставил цифры, которые я не понимаю (в реальном файле это двузначные числа, которые не отсортированы). В документации не указано, что столбцы должны быть тот же тип в объединенных data.frames.
Как я могу получить эту комбинацию?
A b c
1 11111 4444 5555
2 22222 444 66666
3 33333 44444 7777
4 1234 NA 888
5 ss150 NA 777
6 123456 NA 666