So ermitteln Sie die richtige Dateicodierung für read.fwf (oder verwenden Sie eine Problemumgehung, um nicht konforme Zeichen zu entfernen)
Ich habe den Ansatz in der folgenden Frage ausprobiert und stecke immer noch fest.
Wie erkenne ich die richtige Kodierung für read.csv?
Dieser folgende Code sollte reproduzierbar sein ... Irgendwelche Ideen? Ich würde lieber nicht scan () oder readLines verwenden, da ich diesen Code in der Vergangenheit erfolgreich für verschiedene ACS-Daten auf Statusebene verwendet habe.
Mein anderer Gedanke ist, die Textdatei vor dem Import zu bearbeiten. Ich speichere jedoch die gezippten Dateien und verwende ein Skript, um sie zu entpacken und dann auf die Daten zuzugreifen. Wenn Sie die Datei außerhalb der R-Umgebung bearbeiten müssen, wird dieser Prozess erheblich beschleunigt. Danke im Voraus!
Filename <- "g20095us.txt"
Url <- "http://www2.census.gov/acs2005_2009_5yr/summaryfile/2005-2009_ACSSF_By_State_By_Sequence_Table_Subset/UnitedStates/All_Geographies_Not_Tracts_Block_Groups/"
Widths <- c(6,2,3,2,7,1,1,1,2,2,3,5,5,6,1,5,4,5,1,3,5,5,5,3,5,1,1,5,3,5,5,5,2,3,
3,6,3,5,5,5,5,5,1,1,6,5,5,40,200,6,1,50)
Classes <- c(rep('character',4),'integer',rep('character',47))
Names <- c('fileid','stusab','sumlev','geocomp','logrecno','us','region','division',
'statece','state','county','cousub','place','tract','blkgrp','concit',
rep('blank',14),'ua',rep('blank',11),'ur',rep('blank',4),'geoid','name',rep('blank',3))
GeoHeader <- read.fwf(paste0(Url,Filename),widths=Widths,
colClasses=Classes,col.names=Names,fill=TRUE,strip.white=TRUE)
Vier Zeilen aus der Datei "g2009us.txt" unten. Der zweite "Canoncito" verursacht die Probleme. Die anderen Dateien im Download sind CSV-Dateien, diese haben jedoch eine feste Breite und sind erforderlich, um relevante Regionen zu identifizieren (die Organisation der Daten ist nicht sehr intuitiv).
ACSSF US251000000964 2430 090 25100US2430090 Cameron-Kapitel, Navajo-Reservierungs- und Off-Reservierungs-Vertrauensland, AZ - NM - UT ACSSF US251000000965 2430 092 25100US2430092 Cañoncito-Kapitel, Navajo-Reservierungs- und Off-Reservierungs-Vertrauensland, AZ - NM - UT ACSSF US251000000966 2430 095 25100US2430095 Casamero Lake-Kapitel, Navajo Nation-Reservierungs- und Off-Reservierungs-Vertrauensland, AZ - NM - UT ACSSF US251000000967 2430 105 25100US2430105 Chi Chil Tah-Kapitel, Navajo Nation-Reservierungs- und Off-Reservierungs-Vertrauensland, AZ - NM --UT