Câu hỏi đặt ra liên quan đến gói cluster
. Trang trợ giúp cho agnes.object
được trả về bởi agnes
(Xem http://stat.ethz.ch/R-manual/R-devel/library/cluster/html/agnes.object.html) nói rằng đối tượng này có chứa thành phần order.lab
"tương tự như order
, nhưng chứa nhãn quan sát thay vì số quan sát. Thành phần này chỉ khả dụng nếu quan sát ban đầu được dán nhãn".
Ma trận khác nhau (twitter.om
trong trường hợp của bạn) do TraMineR sản xuất hiện không giữ lại nhãn chuỗi làm tên hàng và cột. Để có được thành phần order.lab
, bạn phải gán nhãn chuỗi theo cách thủ công như cả hai rownames
và colnames
của ma trận twitter.om
của bạn. Tôi minh họa ở đây với dữ liệu mvad
được cung cấp bởi gói TraMineR.
library(TraMineR)
data(mvad)
## attaching row labels
rownames(mvad) <- paste("seq",rownames(mvad),sep="")
mvad.seq <- seqdef(mvad[17:86])
## computing the dissimilarity matrix
dist.om <- seqdist(mvad.seq, method = "OM", indel = 1, sm = "TRATE")
## assigning row and column labels
rownames(dist.om) <- rownames(mvad)
colnames(dist.om) <- rownames(mvad)
dist.om[1:6,1:6]
## Hierarchical cluster with agnes library(cluster)
cward <- agnes(dist.om, diss = TRUE, method = "ward")
## here we can see that cward has an order.lab component
attributes(cward)
Tức là để nhận được order
với nhãn trình tự thay vì số. Nhưng bây giờ nó không phải là rõ ràng với tôi mà kết quả cụm bạn muốn ở dạng văn bản/bảng. Từ dendrogram bạn quyết định nơi bạn muốn cắt nó, tức là số lượng nhóm bạn muốn và cắt chương trình dendrogram với cutree
, ví dụ: cl.4 <- cutree(clusterward1, k = 4)
. Kết quả cl.4
là một vectơ có thành viên cụm cho mỗi chuỗi và bạn sẽ có danh sách các thành viên của nhóm 1, ví dụ, với rownames(mvad.seq)[cl.4==1]
.
Hoặc, bạn có thể sử dụng phương pháp identify
(xem ?identify.hclust
) để chọn các nhóm tương tác từ cốt truyện, nhưng cần chuyển đối số là as.hclust(cward)
. Đây là mã cho ví dụ
## plot the dendrogram
plot(cward, which.plot = 2, labels=FALSE)
## and select the groups manually from the plot
x <- identify(as.hclust(cward)) ## Terminate with second mouse button
## number of groups selected
length(x)
## list of members of the first group
x[[1]]
Hy vọng điều này sẽ hữu ích.
Cảm ơn bạn rất nhiều! Điều này rất hữu ích! – histelheim