read.table无法读取制表符分隔文件?

时间:2014-02-21 12:49:29

标签: r

我无法将此表读入R:

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")

有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:1)

我同意read.fwf一旦你计算出宽度就行了。

但是,是的 - 我只是讨厌允许在元素内部使用空格的人(例如“SouthDakota”)。您可以做的另一件事是编辑源文本文件,用选项卡替换{2,N}个空格。这将使状态名称保持原样,但为您提供可行的分隔符。