考虑以下几点:
A = (1, 2.5), B = (5, 10), C = (23, 34), D = (45, 47), E = (4, 17), F = (18, 4)
如何使用R?执行层次聚类 我已经阅读了这个例子Cluster Analysis,但我不确定如何将这些值作为点而不是常规数字输入。
当我这样做时
x <- c(...) #x values
y <- c(...) #y values
我可以使用
绘制它们plot(x,y)
但是如何在示例中指定这些值:
mydata <- scale(mydata)
否则
mydata <- scale(x,y)
我收到以下错误
Error in scale.default(x, y) :
length of 'center' must equal the number of columns of 'x'
答案 0 :(得分:3)
这样的东西?
A = c(1, 2.5); B = c(5, 10); C = c(23, 34)
D = c(45, 47); E = c(4, 17); F = c(18, 4)
df <- data.frame(rbind(A,B,C,D,E,F))
colnames(df) <- c("x","y")
hc <- hclust(dist(df))
plot(hc)
这将点放入具有两列x
和y
的数据框中,然后计算距离矩阵(每个点与每个其他点之间的成对距离),并进行分层聚类分析在那。
然后我们可以用聚类着色数据。
df$cluster <- cutree(hc,k=2) # identify 2 clusters
plot(y~x,df,col=cluster)