我一直收到此错误,但我不太清楚这意味着什么。我所有的变量名都是一致的,没有错字。我在这里想念什么吗?
代码
datNewagg <- aggregate (dataNew, by = list('x', 'y', 'z', 'a', 'ab'),
FUN = mean)
产生错误
Error in aggregate.data.frame(datNew, by = list("x", "y", :
arguments must have same length
最佳答案
假设它不是拼写错误(数据框在您的调用中称为dataNew
,但在错误中称为datNew
),它们是列的名称x
,y
,z
,a
和ab
在dataNew
中?
某些功能,例如subset
,将允许您指定直接使用它们的对象的列名。 aggregate
函数没有,因此dataNew
自变量中列出的by
的任何列都需要特别地引用。试试这个:
datNewagg <- aggregate(dataNew,
by = list(
x = dataNew$x,
y = dataNew$y,
z = dataNew$z,
a = dataNew$a,
ab = dataNew$ab),
FUN = mean)