2014-02-21 50 views
0

我無法閱讀此表爲R:read.table無法讀取製表符分隔文件?

http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt

我嘗試了所有的以下內容:

read.table("http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt") 
read.table("http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt",skip=7,header=FALSE) 
read.table("http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt",skip=8,header=FALSE) 
read.table("http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt",skip=10,header=FALSE) 

如果我告訴它的分隔符是一個標籤,我得到的錯誤的表格:

d = read.table(file="http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt",header=FALSE,skip=7,sep="\t") 

似乎工作的唯一東西是readLines。但後來我不知道如何從每一行中獲取data.frame。

d =readLines("http://www.census.gov/popest/about/geo/state_geocodes_v2012.txt") 

有什麼建議嗎?謝謝。

+2

看起來更像是一個固定寬度的文件''read.fwf' – rawr

+1

是的,嘗試'read.fwf(「state_geocodes_v2012.txt」,skip = 7,widths = c(8,8,20))'if你可以生活在沒有標題的地方。 – lukeA

+0

如果您想要名稱:geocodes < - read.fwf(「〜/ Downloads/state_geocodes_v2012.txt」,c(8,8,8,40),skip = 7) names(geocodes)< - c (「地區」,「司」,「州(FIPS)」,「名稱」)' – alko989

回答

1

我同意read.fwf會工作,一旦你已經制定了寬度。

但是,是的 - 我只是討厭誰允許元素內部空白(例如「南達科他州」)。你可以做的另一件事是編輯源文本文件,用選項卡替換{2,N}空格。這將使州名保持原樣,但給你一個可行的分隔符。

相關問題