2014-02-21 40 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}空格。这将使州名保持原样,但给你一个可行的分隔符。

相关问题