Jestem zaskoczony. Normalnie, read.csv
działa zgodnie z oczekiwaniami, ale napotkałem problem, w którym zachowanie jest nieoczekiwane. Najprawdopodobniej jest to błąd użytkownika z mojej strony, ale każda pomoc zostanie doceniona.Read.CSV nie działa zgodnie z oczekiwaniami w R
Oto adres URL pliku
http://nces.ed.gov/ipeds/datacenter/data/SFA0910.zip
Oto mój kod, aby pobrać plik, rozpakuj i czytaj je w:
URL <- "http://nces.ed.gov/ipeds/datacenter/data/SFA0910.zip"
download.file(URL, destfile="temp.zip")
unzip("temp.zip")
tmp <- read.table("sfa0910.csv",
header=T, stringsAsFactors=F, sep=",", row.names=NULL)
Oto mój problem. Po otwarciu danych CSV danych w programie Excel dane wyglądają zgodnie z oczekiwaniami. Kiedy czytam dane do R, pierwsza kolumna jest faktycznie nazwana row.names. R czyta w jednym rzędzie danych, ale nie wiem, gdzie pojawia się "błąd", który powoduje, że row.names jest kolumną. Po prostu wygląda na to, że dane zostały przesunięte.
Jednak dziwne jest to, że ostatnia kolumna w R wydaje się zawierać właściwe dane.
Oto kilka wierszy z pierwszych kilku kolumnach:
tmp[1:5,1:7]
row.names UNITID XSCUGRAD SCUGRAD XSCUGFFN SCUGFFN XSCUGFFP
1 100654 R 4496 R 1044 R 23
2 100663 R 10646 R 1496 R 14
3 100690 R 380 R 5 R 1
4 100706 R 6119 R 774 R 13
5 100724 R 4638 R 1209 R 26
jakieś przemyślenia na temat tego, co mogę robić źle?
Nie zakładaj, że program Excel poprawnie reprezentuje zawartość pliku CSV. Otwórz plik CSV w edytorze tekstów (nie to jest przyczyną problemu, ale z reguły). –
usuwa argument 'row.names = NULL'. – mnel
@ttmaccer - to dziwne, nie musisz uwierzytelniać się na stronie. Po prostu wypróbowałem to z internetu i automatycznie pobrałem plik na mój komputer. Używam Chrome. – Btibert3