gpt4 book ai didi

r - 使用 R 总结集群中的变量变化(k 均值)

转载 作者:行者123 更新时间:2023-12-01 23:43:40 25 4
gpt4 key购买 nike

我有一个 df,是在我的原始数据集上实现 k-means 聚类后得到的。我这里有 4 个不同的集群,我想知道每个集群中 4 个变量(V1 到 V4)的变化有多大。换句话说,这 4 个变量的什么变化导致集群被分离。

fit <- kmeans(df, 4, iter.max=1000, nstart=25)
palette(alpha(brewer.pal(9,'Set1'), 0.5))
plot(df, col=fit$clust, pch=16)
aggregate(df, by=list(fit$cluster), FUN=mean)
clust.out <- fit$cluster
df1 <- data.frame(df, fit$cluster)

这是我在 k-means 之后的 df1

+-------+-------+-------+--------+--------+-------------+
| ID | V1 | V2 | V3 | V4 | fit.cluster |
+-------+-------+-------+--------+--------+-------------+
| DJ123 | 0.5 | 0.7 | -0.4 | -0.1 | 1 |
| DJ123 | 0.46 | 0.68 | -0.39 | -0.09 | 1 |
| DJ123 | 0.77 | 0.9 | -0.4 | -0.4 | 2 |
| DJ123 | 11.23 | 11.11 | -11.21 | -11.21 | 4 |
| DJ123 | 1.5 | 1.7 | -1.4 | -5.1 | 3 |
| DJ123 | 0.76 | 0.9 | -0.4 | -0.4 | 2 |
| DJ123 | 1.5 | 2.7 | -1.4 | -4.1 | 3 |
+-------+-------+-------+--------+--------+-------------+

您能否提供一个示例代码来获取集群内的汇总统计信息?我希望我的问题很清楚。

最佳答案

您可以使用 plyr 中的 ddply 轻松完成此操作。

library(plyr)
ddply(df,.(cluster),summarise,variance1 = var(V1),variance2 = var(V2),mean1 = mean(V1),...)

你也可以这样做,

ddply(df,.(cluster),function(x){
res = c(as.numeric(colwise(var)(x)),as.numeric(colwise(mean)(x)))
names(res) = paste0(rep(c('Var','Mean'),each = 4),rep(1:4,2))
res
})

关于r - 使用 R 总结集群中的变量变化(k 均值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30143393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com