【发布时间】:2014-02-06 02:03:54
【问题描述】:
我的模拟数据如下所示:
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 的方式,带有标题:
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 的原因是它给了我错误:
Error in read.table(file = FILE, header = header, sep = sep, row.names = row.names, : more columns than column names
这不是真的。我知道宽度 (w) 是正确的。那么这个错误是从哪里来的呢?我的解决方案运行良好,我只是想了解发生了什么。
【问题讨论】:
-
您能否提供您的
w向量,以便(更多)可重现? -
是的,抱歉:
w <- c(11,10,57,16,3,5,8)。已编辑。 -
我现在有点不清楚你的问题是什么。你想知道为什么会抛出错误吗?还是您在寻求优雅的解决方法?您提出的指定
header=F的方法似乎很好。 -
我想知道为什么首先会出现错误。再次编辑。
-
嗯,这是因为您需要确保您的标题行符合
sep的规范,默认为\t。你的没有。
标签: r import fixed-width