2016-04-11 9 views
0

ich versucht habe diese Datei in R zu lesen: https://dataverse.harvard.edu/dataset.xhtml?persistentId=hdl:1902.1/21447# (die commoncontent2012.tab Datei)Lese Tab getrennte Datei in R fehlt Reihen

Als ich auf den ersten read.delim() alles verwenden scheint ok. Es gibt jedoch nur etwa zwei Drittel der Beobachtungen, die es geben sollte. Bei Verwendung von read.table() importiert es die korrekte Anzahl von Zeilen. Es gibt jedoch andere Probleme mit den Spaltennamen.

+3

Bitte fügen Sie eine kleine Teilmenge der Daten in diesen Beitrag ein. Vermeiden Sie die Verknüpfung mit externen Ressourcen, da diese ohne vorherige Ankündigung offline gehen können. Warum laden Sie die RData Version nicht herunter und importieren sie mit 'load' in R? –

+0

Also scheint das Problem mit dem Zitat zu tun zu haben. Wenn es auf "quote =" gesetzt ist, hat es die korrekte Anzahl von Zeilen. Das schafft einige Probleme für die Textstrings ... –

Antwort

1

Die Datei (ich dachte), die Sie erwähnt haben, ist keine durch Tabulatoren getrennte Datei, obwohl die Website Sie vermuten lässt. Es ist a-Stata formatierte Datei mit der Erweiterung ‚.dta‘ verwenden, so read.dta von Paket Fremd:

require(foreign) 
inp <- read.dta("~/Downloads/commoncontent2012.dta") 
str(inp) 
# a really "wide" file 
'data.frame': 54535 obs. of 479 variables: 
$ V101       : int 162390854 162397903 162377974 164027062 164852532 166088596 162312322 162347328 162138459 162263731 ... 
$ V103       : num 0.213 0.572 0.371 0.511 0.788 ... 
$ comptype      : Factor w/ 13 levels "Windows Desktop",..: 2 1 1 1 2 1 1 1 2 2 ... 
$ inputzip      : int NA NA 92637 NA NA NA 33914 NA NA NA ... 
$ birthyr      : int 1928 1947 1923 1967 1944 1956 1937 1931 1956 1954 ... 
$ gender       : Factor w/ 4 levels "Male","Female",..: 1 1 2 2 1 1 2 1 1 1 ... 
$ educ       : Factor w/ 8 levels "No HS","High school graduate",..: 6 5 6 3 6 5 3 2 3 6 ... 
$ race       : Factor w/ 10 levels "White","Black",..: 1 1 1 1 3 1 1 1 1 1 ... 
$ hispanic      : Factor w/ 4 levels "Yes","No","Skipped",..: 2 2 2 2 NA 2 2 2 2 2 ... 
$ votereg      : Factor w/ 5 levels "Yes","No","Don't know",..: 1 1 1 1 1 1 1 1 1 1 ... 
$ regzip       : int NA NA NA NA NA NA NA NA NA NA ... 
# snipped the rest of the output 

Aber dann in der Datei, die ich sah auch dataverse.zip genannt, dass, wenn erweitert enthielt eine commoncontent.tab Datei. Wenn mit read.delim lesen erhalte ich:

> inp2 <- read.delim("~/Downloads/dataverse_files/commoncontent2012.tab") 
> str(inp2) 
'data.frame': 30140 obs. of 479 variables: 
$ V101       : int 162390854 162397903 162377974 164027062 164852532 166088596 162312322 162347328 162138459 162263731 ... 
$ V103       : num 0.213 0.572 0.371 0.511 0.788 ... 
$ comptype      : int 2 1 1 1 2 1 1 1 2 2 ... 
$ inputzip      : int NA NA 92637 NA NA NA 33914 NA NA NA ... 
$ birthyr      : Factor w/ 78 levels "__NA__","1918",..: 12 31 7 51 28 40 21 15 40 38 ... 
$ gender       : int 1 1 2 2 1 1 2 1 1 1 ... 
$ educ       : int 6 5 6 3 6 5 3 2 3 6 ... 
$ race       : int 1 1 1 1 3 1 1 1 1 1 ... 
# rest of output deleted 

So, wie das mit nicht zu vergleichen, was denken Sie in diesen Dateien sein sollte oder was Sie sehen, da man nicht genau zu sagen haben, was waren Ihre Probleme.

Verwandte Themen