代码之家  ›  专栏  ›  技术社区  ›  psysky

将属于集群的观察结果保留在R中

  •  1
  • psysky  · 技术社区  · 6 年前

    iris数据集的简单示例。我必须使用 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 回复  |  直到 6 年前
        1
  •  2
  •   G5W    6 年前

    聚类索引存储在 apiris1@clusters 。您可以创建数据。像您要求的那样的框架如下:

    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