Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复r:';群集中心比不同的数据点多';_R_K Means_Hierarchical Clustering - Fatal编程技术网

如何修复r:';群集中心比不同的数据点多';

如何修复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"

运行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"

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时,它确实起作用