全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7126 7
2017-07-15
悬赏 5 个论坛币 未解决
我想用R读取txt格式的数据,第一列为国家名称,第二、三列为出生率、死亡率。如图所示
由于第四行的国家名为两个单词,中间用空格分隔,还有HONG KONG。所以直接使用read.table("countries.txt", header = FALSE), 会报错:Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  :  line 1 did not have 4 elements
然而,如果使用read.table("countries.txt", header = FALSE, fill = TRUE),虽然读取数据,但是会出现第五行这种情况,国家名的两个单词变成了两列。请问各位大神,如何处理才能正确读取这种数据?谢谢!请指教
2.png

原图尺寸 6.87 KB

2.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-7-15 23:12:17
我的数据是这样的,尝试用countries <- read.fwf('countries 1.txt', widths = c(15,4,9))读取,结果成功。
(开始也报错:Warning message: In readLines(file, n = thisblock) :  incomplete final line found on '\countries 1.txt',我在最后一行之后敲了一下回车,从数据附件内可见,再读取成功)
附件列表

countries 1.txt

大小:2.34 KB

 马上下载

数据

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-15 23:20:22
这是Stack Overflow中的一个解释,但我并不明白其中奥秘:In most cases, Incomplete final line warnings can be averted by appending a new line to the file you are trying to open. Just go to the end of file -> press enter -> Save the file -> re-run whatever command you are using to load it in R and it shall show no warning.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-16 01:43:31
我用了这个语句 read.table("countries_1.txt", header=FALSE, sep="\t",fill=TRUE, blank.lines.skip=TRUE,strip.white=TRUE),没什么问题。
附件列表
countries.png

原图尺寸 29.68 KB

countries.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-16 08:14:38
为了省麻烦,先把数据导入到excel,再用CSV格式保存,读入R。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-7-16 11:14:36
learntongji 发表于 2017-7-16 01:43
我用了这个语句 read.table("countries_1.txt", header=FALSE, sep="\t",fill=TRUE, blank.lines.skip=TRUE ...
但是,这样读入的数据只有一列。
附件列表
捕获.JPG

原图尺寸 18.86 KB

捕获.JPG

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群