【发布时间】:2013-02-25 10:53:45
【问题描述】:
当我尝试在 R 中使用 randomForest 时出现错误。 当我进入
basic3prox <- randomForest(activity ~.,data=train,proximity=TRUE,xtest=valid)
其中 train 是训练数据的数据框,valid 是测试数据的数据框, 我收到以下错误
Error in randomForest.default(m, y, ...) :
x and xtest must have same number of columns
但它们的列数确实相同。我使用子集()从相同的原始数据集中获取它们,当我运行 dim() 时,我得到了
昏暗(火车)
[1] 3237 563
暗淡(有效)
[1] 2630 563
所以我不知道这里出了什么问题。
【问题讨论】:
-
一般来说,如果你传入
xtest的参数,你不会使用公式方法,你需要分别指定x和y。 -
嗯,你知道的。它(有点)是一个错误。使用公式时传递
xtest或ytest应该会产生特定错误,但它们似乎不会。我会联系包维护者。 -
这很奇怪,因为人们在询问有关randomForest的其他问题时使用了公式方法并且没有得到错误(大概)stackoverflow.com/questions/13696235/…
-
我同意这很奇怪,几乎无处不在。这个错误本身对我来说似乎很奇怪。问题是
randomForest.formula中的m <- match.call(expand = FALSE)行。有可能应该是expand = TRUE。 -
你不能这样做没有哲学上的原因,我只是指实际的代码,作者明确试图阻止你这样做,并且只是把它搞砸了。因此,我更像是在警告您,以后不要指望这种行为。
标签: r