2011-02-22 14 views
5

मैं केमैन के साथ एक मैट्रिक्स क्लस्टर करना चाहता हूं, और इसे हीटमैप के रूप में प्लॉट करने में सक्षम हूं। यह काफी तुच्छ लगता है, और मैंने इस तरह के कई भूखंडों को देखा है। मैंने चारों ओर Google पर कोशिश करने की कोशिश की है, लेकिन इसके चारों ओर एक रास्ता नहीं मिल रहा है।आर ड्रम केमन्स क्लस्टरिंग हीटमैप

मैं इस आकृति पर पैनल ए या बी जैसे कुछ प्लॉट करने में सक्षम होना चाहता हूं। मान लें कि मेरे पास 250 पंक्तियों और 5 कॉलम के साथ एक मैट्रिक्स है। मैं सिर्फ पंक्तियों को कॉलम नहीं करना चाहता हूं।

m = matrix(rnorm(25), 250, 5) 

km = kmeans(m, 10) 

फिर मैं उन 10 क्लस्टर को हीटमैप के रूप में कैसे प्लॉट करूं? आप टिप्पणी करते हैं और मदद से अधिक मदद करता है।

धन्यवाद।

enter image description here

+1

यह प्रश्न इस के समान है (http://stackoverflow.com/q/5687891/597069), जिसमें अच्छे उत्तर हैं। – tflutre

+0

[इस सवाल] पर एक नज़र डालें (http://stackoverflow.com/q/6673162/707145) – MYaseen208

उत्तर

6

कुछ निम्नलिखित की तरह काम करना चाहिए:

set.seed(100) 
m = matrix(rnorm(10), 100, 5) 
km = kmeans(m, 10) 
m2 <- cbind(m,km$cluster) 
o <- order(m2[, 6]) 
m2 <- m2[o, ] 
library(pheatmap) # I like esoteric packages! 
library(RColorBrewer) 
pheatmap(m2[,1:5], cluster_rows=F,cluster_cols=F, col=brewer.pal(10,"Set3"),border_color=NA) 

heatmap created using the pheatmap pacakge

+0

उत्तर देने के लिए धन्यवाद पाओलो। हालांकि मैं थोड़ा उलझन में हूं, हम साजिश में 5 कॉलम कैसे खो रहे हैं? –

+0

हम नहीं हैं! आज़माएं: फीटमैप (एम 2 [, 1: 5], क्लस्टर_रोज़ = एफ, क्लस्टरकॉल्स = एफ, कोल = ब्रेवरपाल (10, "सेट 3")) – Paolo

0

मुझे लगता है कि दोनों दो आंकड़े संयुक्त दो आंकड़े से आना चाहिए। बायां वाला हीटमैप है और क्लस्टर परिणामों के आधार पर दायां रंग सही है। बेशक, क्लस्टर के परिणाम से डेटा को फिर से व्यवस्थित किया जाना चाहिए। बीटीडब्ल्यू, सवाल प्रश्न के नीचे टिप्पणी के रूप में दो प्रश्नों के समान नहीं है।