R apply()中出错:尺寸(X)必须为正长度

R apply()中出错:尺寸(X)必须为正长度,r,k-means,R,K Means,下面的代码给出了一个错误。错误的原因是什么?我能做些什么来解决它 # Determine number of clusters wss <- (nrow(donnees.test$y - esvr1.pred) - 1) * sum(apply(donnees.test$y - esvr1.pred, 2, var)) for (i in 2:15) wss[i] <- sum(kmeans(donnees.test$y - esvr1.pred,

下面的代码给出了一个错误。错误的原因是什么?我能做些什么来解决它

# Determine number of clusters
wss <- (nrow(donnees.test$y - esvr1.pred) - 1) * 
       sum(apply(donnees.test$y - esvr1.pred, 2, var))
for (i in 2:15) wss[i] <- sum(kmeans(donnees.test$y - esvr1.pred,
                                     centers=i)$withinss)
plot(1:15, wss, type="b", xlab="Number of Clusters",
     ylab="Within groups sum of squares") 
# K-Means Cluster Analysis
fit <- kmeans(donnees.test$y - esvr1.pred, 5) # 5 cluster solution
# get cluster means
aggregate(donnees.test$y - esvr1.pred, by=list(fit$cluster), FUN=mean)
# append cluster assignment
MainData <- data.frame(donnees.test$y - esvr1.pred, fit$cluster) 

donnees.test$y-esvr1.pred不是矩阵,因此它没有维度属性,只是在错误消息中显示。为什么要计算向量中每个元素的方差?那么我如何计算k-均值呢?我搜索代码,我看到这个代码刚刚改成mydata!我修复了您的一些格式,但我们不知道什么是
donness。test
esvr1.pred
是这样的,所以问题是不可复制的。
kmeans
需要一个矩阵(或可以强制为矩阵的东西)作为输入。你没有给它一个矩阵。因为你的代码不可复制,我投票决定关闭。
Error in apply(donnees.test$y - esvr1.pred, 2, var) : 
  dim(X) must have a positive length