r-有没有一种很好的方法可以以数据帧的形式将几个集群输出的结果抓取到一个集群输出中?有什么建议吗



我正在完成对数据集的聚类分析,并使用各种方法将其切片并切成不同的部分,所有这些都是为了最大限度地提高使用kmeans分割大数据集的结果。因此,有15个单独的kmeans对象作为结果,如果能够将这些对象转换到一个表中一次查看所有对象,包括引用模型的标题和每个模型的关键统计信息,将非常有帮助。有什么建议吗?以下是当您将结果打印到R Studio的输出部分时的任何结果示例。我找过包裹等,但运气不好。感谢您提供的任何帮助!!!

K-means clustering with 5 clusters of sizes 11356, 4621, 3380, 7455, 4381
Cluster means:
PRCT_DIFF_LOCK_ON PRCT_FRONT_PTO_ON PRCT_REAR_PTO_ON PRCT_MFWD_ON
1       0.045629787      0.0006149385       0.05848930   0.80521712
2       0.006848544      0.0036244639       0.15807745   0.06906081
3       0.390860459      0.0004615964       0.07576421   0.79353567
4       0.040412934      0.0048262841       0.11052730   0.48966547
5       0.053424999      0.0149324570       0.45581038   0.64261907
Within cluster sum of squares by cluster:
[1] 665.8571 568.6334 264.2810 554.8512 457.3876
(between_SS / total_SS =  55.5 %)

kmeans的输出是list。如果我们想提取Cluster means,请使用

k2$centers
Murder    Assault   UrbanPop       Rape
1  1.004934  1.0138274  0.1975853  0.8469650
2 -0.669956 -0.6758849 -0.1317235 -0.5646433

broom包可以总结数据帧/可调试中的输出

library(broom)
> tidy(k2)
# A tibble: 2 x 7
Murder Assault UrbanPop   Rape  size withinss cluster
<dbl>   <dbl>    <dbl>  <dbl> <int>    <dbl> <fct>  
1  1.00    1.01     0.198  0.847    20     46.7 1      
2 -0.670  -0.676   -0.132 -0.565    30     56.1 2      
> glance(k2)
# A tibble: 1 x 4
totss tot.withinss betweenss  iter
<dbl>        <dbl>     <dbl> <int>
1   196         103.      93.1     1

-可复制示例

library(cluster)  
df <- USArrests
df <- na.omit(df)
df <- scale(df)
k2 <- kmeans(df, centers = 2, nstart = 25)

相关内容

  • 没有找到相关文章

最新更新