2016-06-30 11 views
0

Gibt es trotzdem ohne Umwandlung in char, um NA durch Leerzeichen oder nichts zu ersetzen? I verwendetNA durch nichts ersetzen in R ändert Variablentypen zu kategorial

data_model <- sapply(data_model, as.character) 
data_model[is.na(data_model)] <- " " 
data_model=data.table(data_model) 

aber es ändert sich die ganze Typen kategorische Spalten. Ich möchte den Datensatz speichern und ihn verwenden, da er NA nicht versteht.

+0

Es ist sehr wahrscheinlich, dass Sie keine Änderungen an den NA's vornehmen müssen, um die Daten zu SAS zu verschieben. Aber wir müssen verstehen, wie Sie die Daten auf SAS verschieben möchten. Wenn Sie von R nach CSV exportieren, können Sie zum Beispiel 'write.csv (..., na =" ")' verwenden. SAS wird wahrscheinlich das leere Zeichen als fehlenden Wert lesen (zumindest denke ich, es ist schon eine Weile her). Aber im Prinzip ist die Exportfunktion wahrscheinlich der beste Ort, um diese Aufgabe zu bewältigen. – Benjamin

Antwort

0

Hier ist eine etwas verspätete (und schamlose Eigenwerbung) von The R Primer zum Exportieren eines Datenrahmens zu SAS. Es sollte automatisch korrekt mit Ihrem NA s:

Zunächst können Sie das foreign-Paket verwenden, um den Datenrahmen als SAS Xport-Datensatz zu exportieren. Hier werde ich einfach den Datenrahmen trees exportieren.

library(foreign) 
data(trees) 
write.foreign(trees, datafile = "toSAS.dat", 
       codefile="toSAS.sas", package="SAS") 

Dies gibt Ihnen zwei Dateien, toSAS.dat und toSAS.sas. Es ist einfach, die Daten in SAS zu bekommen, da die Codedatei toSAS.sas ein SAS-Skript enthält, das direkt von SAS gelesen und interpretiert werden kann und die Daten in toSAS.dat liest.