Ich habe eine CSV-Datei, deren Spaltennamen Leerzeichen und Sonderzeichen enthalten.Befrage ich aus dem data.table-Paket, wenn Spaltennamen Leerzeichen und Sonderzeichen enthalten?
fread
importiert sie mit Anführungszeichen - aber wie kann ich dieses Verhalten ändern? Ein Grund ist, dass ich Spaltennamen habe, die mit einem Leerzeichen beginnen, und ich weiß nicht, wie ich damit umgehen soll.
Alle Zeiger wären hilfreich.
Edit: Ein Beispiel.
> packageVersion("data.table")
[1] ‘1.8.8’
p2p <- fread("p2p.csv", header = TRUE, stringsAsFactors=FALSE)
> head(p2p[,list(Principal remaining)])
Error: unexpected symbol in "head(p2p[,list(Principal remaining"
> head(p2p[,list("Principal remaining")])
V1
1: Principal remaining
> head(p2p[,list(c("Principal remaining"))])
V1
1: Principal remaining
Was ich erwarte/will, ist natürlich, was für einen Spaltennamen ohne Leerzeichen ergeben:
> head(p2p[,list(Principal)])
Principal
1: 1000
2: 1000
3: 1000
4: 2000
5: 1000
6: 4130
Ich werde die Unter/gsub Route versuchen. Vielen Dank. – Rico
Vielleicht möchten Sie Ihre Antwort damit aktualisieren. 'Warnmeldung: In Namen <-. Data.table (* tmp *, Wert = Wert): Die colnames (x) <- Wert-Syntax kopiert die gesamte Tabelle. Dies liegt an <- in R selbst. Bitte ändere zu setnames (x, alt, neu), die nicht kopieren und schneller sind. Siehe Hilfe ('Setnamen'). Sie können diese Warnung ignorieren, wenn es unbequem ist, sie gerade zu ändern. Das Setzen von Optionen (warn = 2) macht diese Warnung zu einem Fehler, so dass Sie traceback() verwenden können, um Ihre colnames <- Calls zu suchen und zu ändern. – Rico
Ausgezeichneter Punkt, und ich habe die Antwort geändert, um das widerzuspiegeln. –