Giả sử mat_pages [] chứa các trang trong các cột (mà bạn muốn phân cụm) và các cá nhân trong các hàng. Bạn có thể phân cụm các trang dựa trên dữ liệu riêng lẻ trong Rby bằng lệnh sau:
pc <- prcomp(x=mat_pages,center=TRUE,scale=TRUE)
Ma trận tải là ma trận của các hàm riêng của phân tách SVD của dữ liệu. Họ cho trọng số tương đối của mỗi TRANG trong việc tính điểm. Tải với giá trị tuyệt đối lớn hơn có ảnh hưởng nhiều hơn trong việc xác định điểm của thành phần nguyên tắc tương ứng.
Tuy nhiên, tôi cũng nên chỉ ra sự xuất hiện ngắn của việc sử dụng PCA để phân cụm trang. Lý do cho điều này là các tải trọng mang lại trọng lượng lớn hơn cho PAGES với độ biến thiên cao hơn, bất kể biến thể này có thực sự là do nội dung TRANG hay một số lý do khác (có thể là biến thể kỹ thuật hoặc cá nhân). Các tải không nhất thiết phản ánh sự khác biệt thực sự giữa các nhóm, mà (có thể) mối quan tâm chính của bạn. NHƯNG, cụm này thực sự phản ánh sự khác biệt trong nhóm theo giả định rằng tất cả các trang có cùng phương sai (tôi không biết liệu đây có phải là giả định hợp lệ không).
Nếu bạn có một cơ sở tính toán mạnh mẽ (có thể có thể có kích thước dữ liệu của bạn) - sử dụng các mô hình phân cấp có thể là một ý tưởng tốt. Trong R, nó có thể được thực hiện bằng cách sử dụng gói lme4.
Làm gì sau khi bạn có điểm?
Đây là một gợi ý thô và phân tích phụ thuộc rất lớn vào cách dữ liệu trông như thế nào. Ngoài ra, tôi đoán quá trình này sẽ rất khó khả thi để nhóm dữ liệu về cường độ mà bạn có.
pc.col <- paste("page", 1:27000, sep=".")
pdf("principle-components.pdf")
plot(pc$x[,1:2]) ## Just look at the 1st two loadings (as you can see the groupings in a plane)
dev.off()
Hy vọng rằng, điều này có thể cung cấp cho bạn một hình ảnh về cách dữ liệu được nhóm vào.
Cảnh báo: đây không phải là những gì tôi muốn giới thiệu.
Đề nghị của tôi:
Các vấn đề như thế này phát sinh thường xuyên trong bộ gen. Trong các trang trường hợp của bạn tương ứng với gen và các cá nhân tương ứng với bệnh nhân (về cơ bản các cá nhân có ý nghĩa tương tự như trong bộ gen)
Bạn muốn phân cụm các trang dựa trên dữ liệu.
Bạn có thể sử dụng rất nhiều gói phân cụm trong R và đã được chỉ ra trong các câu trả lời khác. Một vấn đề cơ bản với các gói giống như hclust là làm thế nào để xác định số lượng cụm. Một vài trong số những người yêu thích của tôi là:
- pvclust (Cung cấp cho bạn các cụm và cũng cung cấp giá trị p cho mỗi cụm. Sử dụng giá trị p bạn có thể xác định các cụm có ý nghĩa thống kê. Vấn đề : đòi hỏi rất nhiều sức mạnh tính toán và tôi không chắc liệu nó có hoạt động với dữ liệu của bạn không kích thước)
- hopach (Cung cấp cho bạn số lượng cụm ước tính và cụm)
- Có các gói khác có sẵn trong Bioconductor, vui lòng kiểm tra chúng trong chế độ xem nhiệm vụ.
Bạn cũng có thể sử dụng thuật toán phân cụm như k-mean, v.v ... Tôi chắc chắn tôi đã thấy một chủ đề trong diễn đàn này về phân cụm. Các câu trả lời rất chi tiết. Nó được hỏi bởi Tal Galili nếu tôi nhớ chính xác.