R集群产生错误消息
尝试群集时,我收到以下消息: diana中的错误(mat.in,stand=TRUE): 未进行聚类,不相似矩阵中的NA 这是出乎意料的,因为diana采用矩阵而不是相异矩阵。根据文件,矩阵中允许不适用[但不允许在差异矩阵中] 例如:R集群产生错误消息,r,cluster-analysis,na,R,Cluster Analysis,Na,尝试群集时,我收到以下消息: diana中的错误(mat.in,stand=TRUE): 未进行聚类,不相似矩阵中的NA 这是出乎意料的,因为diana采用矩阵而不是相异矩阵。根据文件,矩阵中允许不适用[但不允许在差异矩阵中] 例如: require("cluster") mat.in=data.frame(A=c(12,10,NA,14,12,60),B=c(NA,11,45,25,13,65)) d=diana(mat.in,stand=TRUE) 我已确保既不存在所有NA列,也不存在所有
require("cluster")
mat.in=data.frame(A=c(12,10,NA,14,12,60),B=c(NA,11,45,25,13,65))
d=diana(mat.in,stand=TRUE)
我已确保既不存在所有NA列,也不存在所有NA行
有人知道这里发生了什么吗 问题是,至少在示例数据中,对于样本1和3,没有用于计算相异性的信息。考虑:
> daisy(mat.in)
Dissimilarities :
1 2 3 4 5
2 2.828427
3 NA 48.083261
4 2.828427 14.560220 28.284271
5 0.000000 2.828427 45.254834 12.165525
6 67.882251 73.593478 28.284271 60.959003 70.767224
Metric : euclidean
Number of objects : 6
> mat.in
A B
1 12 NA
2 10 11
3 NA 45
4 14 25
5 12 13
6 60 65
这说明相异矩阵中的NA
是实的。对于样本1和样本2之间的比较,样本3缺少A
,但样本1中存在A,而B
则相反。由于没有用于计算这两个样本的相异性的数据,因此在相异性矩阵中得到一个NA
注意,NA
s显然是允许的,只要还有一些信息来计算相异性;生成的矩阵包含所有样本与样本1和3之间的差异。感谢Gavin。我的数据集显然比这个示例更复杂,但您现在让我的方向正确了。@Henk我在使用daisy()时也遇到了同样的问题。My daisy函数在data.frame中具有部分填充率的NA值b/c。你是怎么解决的?