如何修复r:';群集中心比不同的数据点多';
运行kmeans算法时,我收到以下错误:如何修复r:';群集中心比不同的数据点多';,r,k-means,hierarchical-clustering,R,K Means,Hierarchical Clustering,运行kmeans算法时,我收到以下错误: Error in kmeans(x, 2, 15) : more cluster centers than distinct data points. 如何修复此错误?这意味着什么?我认为我的数据点是不同的 以下是我用来生成kmeans的文件和r代码: rnames.csv : "a1","a2","a3" cells.csv : 0,1,2,1,4,3,5,3,4 cnames.csv : "google","so","test"
Error in kmeans(x, 2, 15) :
more cluster centers than distinct data points.
如何修复此错误?这意味着什么?我认为我的数据点是不同的
以下是我用来生成kmeans的文件和r代码:
rnames.csv :
"a1","a2","a3"
cells.csv :
0,1,2,1,4,3,5,3,4
cnames.csv :
"google","so","test"
cells = c(read.csv("c:\\data-files\\kmeans\\cells.csv", header = TRUE))
rnames = c(read.csv("c:\\data-files\\kmeans\\rnames.csv", header = TRUE))
cnames = c(read.csv("c:\\data-files\\kmeans\\cnames.csv", header = TRUE))
x <- matrix(cells, nrow=3, ncol=3, byrow=TRUE, dimnames=list(rnames, cnames))
# run K-Means
km <- kmeans(x, 2, 15)
rnames.csv:
“a1”、“a2”、“a3”
cells.csv:
0,1,2,1,4,3,5,3,4
cnames.csv:
“谷歌”,“所以”,“测试”
cells=c(读取.csv(“c:\\data files\\kmeans\\cells.csv”,header=TRUE))
rnames=c(读.csv(“c:\\data files\\kmeans\\rnames.csv”,header=TRUE))
cnames=c(读取.csv(“c:\\data files\\kmeans\\cnames.csv”,header=TRUE))
x此问题的解决方法是:
cells = c(read.csv("c:\\data-files\\kmeans\\cells.csv", header = FALSE))
rnames = c(read.csv("c:\\data-files\\kmeans\\rnames.csv", header = FALSE))
cnames = c(read.csv("c:\\data-files\\kmeans\\cnames.csv", header = FALSE))
而不是
cells = c(read.csv("c:\\data-files\\kmeans\\cells.csv", header = TRUE))
rnames = c(read.csv("c:\\data-files\\kmeans\\rnames.csv", header = TRUE))
cnames = c(read.csv("c:\\data-files\\kmeans\\cnames.csv", header = TRUE))
它的意思正是它所说的:与您指定的中心数量相比,您的数据具有更少的不同案例。这表明您的数据与您在Q中绘制的示例不匹配,因为当我将该数据读入3x3矩阵时,kmeans
运行良好。当您实际收到错误时,请仔细检查x
。@joran是的,x实际上是空的,我的文件只包含数据(没有标题),因此当我更改为header=FALSE而不是header=TRUE时,它确实起作用