1

通常の方法を使用して、階層クラスタリング プロジェクトを実行しています。

mydata.dtm <- TermDocumentMatrix(mydata.corpus)
mydata.dtm2 <- removeSparseTerms(mydata.dtm, sparse=0.98)
mydata.df <- as.data.frame(inspect(mydata.dtm2))
mydata.df.scale <- scale(mydata.df)
d <- dist(mydata.df.scale, method = "euclidean") # distance matrix
fit <- hclust(d, method="ward")
groups <- cutree(fit, k=10)

groups
              congestion        cough          ear          eye        fever          flu   fluzonenon     medicare painpressure     physical         pink          ppd     pressure 
                       1            2            3            4            5            6            5            5            5            7            4            8            5 
                    rash    screening         shot        sinus         sore       sports     symptoms       throat          uti 
                       5            5            6            1            9            7            5            9           10 

そして、私が望むのは、グループ番号を元のデータの新しい列に戻すことです。単一のリスト内でのおおよその文字列一致を見てきました-r ここのdfはドキュメントマトリックスであるため、後で取得したdf <- t(data.frame(mydata.df.scale,cutree(hc,k=10)))のは次のようなマトリックスです

df[1:5,1:5]
     congestion cough ear eye fever
[1,]          0     0   0   0     0
[2,]          0     0   0   0     0
[3,]          0     0   0   0     0
[4,]          0     0   0   1     0
[5,]          0     0   0   0     0

目のグループ番号は3 であるため、4 行目の新しい列に番号 3 を追加します。

この場合、1 つのドキュメントを同じグループ内の 2 つのアイテムにマップできることに注意してください。

df[23,17:21]
   sinus     sore   sports symptoms   throat 
       0        1        0        0        1 
4

1 に答える 1