首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >read.fwf时header=TRUE中的错误

read.fwf时header=TRUE中的错误
EN

Stack Overflow用户
提问于 2014-02-06 02:03:54
回答 1查看 1.5K关注 0票数 3

我模拟的数据如下:

代码语言:javascript
复制
LastName   Date      email                                                    CreditCardNum   AgeZip  Amount
Paul       21/02/14  Aliquam.fringilla@dolordapibus.co.uk                     4241033422900360 6738851$14.39
Bullock      2/7/2014adipiscing.fringilla@lectusjusto.org                     5178789953524240 3336538$498.31
Mcmahon     11/5/2013lobortis.ultrices@lacus.org                              5389589582467450 7734302$92.44
Walters    25/09/13  consectetuer.cursus.et@sitamet.org                       5157094536097720 7794007$206.60
Franco     17/06/13  et@disparturientmontes.ca                                 345477952996264 2415873$89.12

这就是我试图把它导入R中的方法,它的标题是:

代码语言:javascript
复制
w <- c(11,10,57,16,3,5,8)
df <- read.fwf("data.txt",widths=w,stringsAsFactors=F)
names(df) <- df[1,]; df <- df[-1,]

我不使用header=T的原因是它给了我错误:

代码语言:javascript
复制
Error in read.table(file = FILE, header = header, sep = sep, row.names = row.names,  :  more columns than column names

但事实并非如此。我知道宽度(w)是正确的。那么这个错误是从哪里来的呢?我的解决方案很好,我只是想知道发生了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-06 03:04:15

如果您指定了header=TRUE,那么,按照?read.fwf,您必须确保列名由sep分隔。默认情况下,名称将由\t (制表符)分隔,对于数据来说,这不一定是正确的。

以下功能很好:

代码语言:javascript
复制
w <- c(11, 10, 57, 16, 3, 5, 8)

read.fwf(widths=w, header=TRUE, sep='|', 
file=textConnection('LastName   |Date      |email                                                    |CreditCardNum   |Age|Zip  |Amount
Paul       21/02/14  Aliquam.fringilla@dolordapibus.co.uk                     4241033422900360 6738851$14.39
Bullock      2/7/2014adipiscing.fringilla@lectusjusto.org                     5178789953524240 3336538$498.31
Mcmahon     11/5/2013lobortis.ultrices@lacus.org                              5389589582467450 7734302$92.44
Walters    25/09/13  consectetuer.cursus.et@sitamet.org                       5157094536097720 7794007$206.60
Franco     17/06/13  et@disparturientmontes.ca                                 345477952996264 2415873$89.12'))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21592616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档