Ich habe versucht, die Funktion rbind.fill aus dem Plyr-Paket zu kombinieren zwei Datenrahmen mit einer Spalte A, die nur Ziffern im ersten Datenrahmen enthält, aber (auch) Zeichenfolgen im zweiten Datenrahmen. Reproduzierbare Beispiel:unerwartete rbind.fill Verhalten bei der Kombination von Spalten unterschiedlicher Klasse
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)
Diese Die folgende Ausgabe mit falschen Daten in Spalte A erzeugte , Zeile 4,5,6. Es wurde keine Fehlermeldung angezeigt.
Ich hatte erwartet, dass die Funktion die ganze Spalte in Zeichenklasse zwingen würde, oder zumindest NA oder eine Warnung anzeigen. Stattdessen hat er Ziffern eingefügt, die ich nicht verstehe (in der eigentlichen Datei sind dies zwei Ziffern, die nicht sortiert sind). documentation gibt nicht an, dass Spalten in den zu kombinierenden data.frames vom gleichen Typ sein müssen.
Wie kann ich diese Kombination bekommen?
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
Vielen Dank, sehr hilfreich! Ich habe StringsAsFactors (beginnt mit Kleinbuchstaben, BTW) im read.csv Import und jetzt funktioniert es. (Jedes Mal, wenn ich denke, dass ich ein bisschen mehr von den verschiedenen Klassen in R verstanden habe, passiert so etwas und ich weiß, dass ich mehr lesen muss ... danke für deine Hilfe!) – Kastany