在 R 中保持属于集群的观察

Posted

技术标签:

【中文标题】在 R 中保持属于集群的观察【英文标题】:keep the observation belonging to the cluster in R 【发布时间】:2018-08-19 13:03:57 【问题描述】:

鸢尾花数据集的简单示例。我必须使用apcluster library

library("apcluster")

#use dist() create a negative SimilarityMatrix
sim<-negDistMat(iris[,1:4],r=2)

#run the clusteralgorythm and create apclustert object apiris1
apiris1<-apcluster(sim,details=T)


apiris1=apclusterK(sim,details=T,K=2,verbose=T)

之后,我看到了其中的集群和观察的数量

 Cluster 1, exemplar 8:
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 
      22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 
      40 41 42 43 44 45 46 47 48 49 50 58 99
   Cluster 2, exemplar 124:
      51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 
      70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 
      88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 
      105 106 107 108 109 110 111 112 113 114 115 116 117 118 
      119 120 121 122 123 124 125 126 127 128 129 130 131 132 
      133 134 135 136 137 138 139 140 141 142 143 144 145 146 
      147 148 149 150

如何在 R 中保持观测属于集群。

为了让我的帖子更清楚,我希望输出这样一个表格

      n Sepal.Length Sepal.Width Petal.Length Petal.Width    Species Save.cluster
1   1          5.1         3.5          1.4         0.2     setosa            1
2   2          4.9         3.0          1.4         0.2     setosa            1
3   3          4.7         3.2          1.3         0.2     setosa            1
4   4          4.6         3.1          1.5         0.2     setosa            1
5   5          5.0         3.6          1.4         0.2     setosa            1
6   6          5.4         3.9          1.7         0.4     setosa            1
7   7          4.6         3.4          1.4         0.3     setosa            1
8   8          5.0         3.4          1.5         0.2     setosa            1
9   9          4.4         2.9          1.4         0.2     setosa            1
10 10          4.9         3.1          1.5         0.1     setosa            1
11 51          7.0         3.2          4.7         1.4 versicolor            2
12 52          6.4         3.2          4.5         1.5 versicolor            2
13 53          6.9         3.1          4.9         1.5 versicolor            2
14 54          5.5         2.3          4.0         1.3 versicolor            2
15 55          6.5         2.8          4.6         1.5 versicolor            2

【问题讨论】:

【参考方案1】:

集群索引存储在apiris1@clusters 中。您可以像这样请求的那样制作一个 data.frame:

iris1 = iris
iris1$Save.cluster = 0
for(i in 1:length(apiris1@clusters)) 
    iris1$Save.cluster[apiris1@clusters[[i]]] = i 
head(iris1)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species Save.cluster
1          5.1         3.5          1.4         0.2  setosa            1
2          4.9         3.0          1.4         0.2  setosa            1
3          4.7         3.2          1.3         0.2  setosa            1
4          4.6         3.1          1.5         0.2  setosa            1
5          5.0         3.6          1.4         0.2  setosa            1
6          5.4         3.9          1.7         0.4  setosa            1

【讨论】:

感谢您快速而有用的回答

以上是关于在 R 中保持属于集群的观察的主要内容,如果未能解决你的问题,请参考以下文章

Keepalived+LVS

改变反应表达,保持观察者

如何在修改值标签后保持观察匹配?

keepalived是什么及作用?

keepalived介绍及工作原理

tomcat基于session会话保持以及msm会话保持