0

我正在使用 R 进行市场篮子分析,这样做我正在计算肘部方法的 WSS,然后kmeans()也使用函数。我使用了一个标准化数据帧 pc1,然后我们计算了 PCA,然后在代码中我们有以下命令:-

pc1 <- princomp(na.omit(pc1))
plot(pc1)
loadings(pc1)
pc.df <- data.frame(pc1$x[,1:3])
names(pc.df)
wss <- (nrow(pc.df)-1)*sum(apply(pc.df,2,var))
for (i in 2:15) wss[i] <- sum(kmeans(pc.df, nstart = 100 , iter.max = 1000,
                                 centers=i)$withinss)

然后在运行此程序时,我在带有apply()函数的代码的第 6 行收到以下错误:-

获取错误(as.character(FUN),模式=“功能”,环境=环境):
找不到模式“功能”的对象“2013-12-09”

在下一行我得到: -

Error in kmeans(pc.df, nstart = 100, iter.max = 1000, centers = i) :
more cluster centers than distinct data points.

第二个错误显然是由于聚类的数量大于不同的点,但它是否与前一个错误有关?

任何形式的帮助将不胜感激。此外,如果有人知道一个好的网站或 pdf 链接来了解 PCA 和肘部测试(就市场篮子和示例而言)也会有所帮助。

4

1 回答 1

1

我得到了这个问题。在变量列表中有一个名为“var”的变量,同时我们在 apply() 中使用 var 函数。这是以下错误的原因:-

Error in get(as.character(FUN), mode = "function", envir = envir) :object '2013-12-09' of mode 'function' was not found

变量“var”被赋值为2013-12-09

于 2018-04-02T11:12:48.993 回答