0
我挣扎在一个令人困惑的错误R.我有数据集包括许多列。当我看到它,我看到错误消息,例如“在扫描出错(文件,什么,n最大,九月,十二月,报价,跳过,nlines,na.strings”。错误与read.table
> data=read.table(file("D:/R/data.txt"), header=T)
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 1 did not have 26 elements
因此,我试过下面,
> data=read.table(file("D:/R/data.txt"), fill=T, header=F)
> head(data)
V1 V2 V3 V4 V5 V6 V7 V8
1 Year Na NH4 K Mg Ca Cl NO3
2 2009 40.9311 89.072 65.4617 48.5279 3091.9586 52.782114 173.414523
3 2009 19.8996 75.3554 22.219 11.8805 223.5573 28.51786 219.186039
OK,反正,R读取我的数据。然后我想情节,所以我删除了第一排,这是我的头实际上。
> data<-data[-c(1), ]
> head(data)
V1 V2 V3 V4 V5 V6 V7 V8
2 2009 40.9311 89.072 65.4617 48.5279 3091.9586 52.782114 173.414523
> boxplot(V20~factor(V1), data=data, main="")
Error in boxplot.default(split(mf[[response]], mf[-response]), ...) :
adding class "factor" to an invalid object
> a<-aggregate(V20~V1, data=data, mean)
There were 50 or more warnings (use warnings() to see the first 50)
起初,我只是想读我数据集和聚合每个列作为年份的函数(第一个colulm N)。但是我看到了错误信息,可能会要求我将数据写入数据框。然后我失去了如何处理它。有什么方法可以通过标题读取我的数据,并简单地绘制箱形图和汇总数据?
你在这里有一些混淆。什么是'cfa',什么是'data'?另外,也许可以向我们展示“data.txt”文件的前几行,以确切了解发生了什么。 – Thomas
'count.fields'函数对于这类问题也很有用。它告诉你R在每一行数据中认为有多少列。 Waht会做'count.fields(“D:/R/data.txt”)'return? (另外,你不需要调用'file'函数,'read.table'接受一个到文件路径的字符串。) –
这可能是因为你的分隔符对于标题和数据是不同的。 – LauriK