2012-09-21 4 views
9

मैं एक प्रोटीन डीएनए इंटरैक्शन डेटासेट क्लस्टर करने की कोशिश कर रहा हूं, और आर पैकेज gplots से heatmap.2 का उपयोग करके एक हीटमैप खींचता हूं। इन आलेखों को उत्पन्न करने के लिए मैं पूरी प्रक्रिया का पालन कर रहा हूं: मेरे मामले के मोती में कुछ सहसंबंध का उपयोग करके दूरी मैट्रिक्स उत्पन्न करें।आर में गर्मीमैप 2 का उपयोग करके विकर्ण पर लाइन करने के लिए क्लस्टर कैसे प्राप्त करें?

library(RColorBrewer); 
library(gplots); 
args <- commandArgs(TRUE); 
matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1); 
mtscaled <- as.matrix(scale(matrix_a)) 
pdf("result.pdf", pointsize = 15, width = 18, height = 18) 
result <- heatmap.2(mtscaled, Colv=T,Rowv=T, scale='none',symm = T, col = brewer.pal(9,"Reds")) 
dev.off() 

मैं निम्न कार्य करके सामान्य हीटमैप समारोह के साथ यह पूरा करने में सक्षम हूँ:

result <- heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T) 

हालांकि जब मैं Heatmap.2 के लिए एक ही सेटिंग्स का उपयोग समूहों के रूप में अच्छी तरह से लाइन नहीं है विकर्ण पर। मैंने 2 छवियों को संलग्न किया है, पहली छवि हीटमैप का उपयोग करती है और दूसरी छवि heatmap.2 का उपयोग करती है। मैंने RColorBrewer पैकेज से रेड रंग का उपयोग किया है ताकि मैं बेहतर प्रदर्शन करने में मदद कर सकूं। मैं आमतौर पर केवल डिफ़ॉल्ट हीटमैप फ़ंक्शन का उपयोग करता हूं, लेकिन मुझे रंग भिन्नता की आवश्यकता होती है जो heatmap.2 प्रदान करता है।

यहाँ, हीटमैप उत्पन्न करने के लिए के बाद यह एक दूरी मैट्रिक्स में बदल दिया गया इस्तेमाल किया डाटासेट एक सूची है: DataSet

Heatmap drawn from heatmap

Heatmap drawn from Heatmap.2

उत्तर

4

यह रूप में अगर बहस के दो विवादित हैं। Colv=T क्लस्टर द्वारा कॉलम ऑर्डर करने के लिए कहता है, और symm=T स्तंभों को पंक्तियों के समान क्रमबद्ध करने का कहता है। बेशक, डेटा सममित है क्योंकि दोनों बाधाएं संतुष्ट हो सकती हैं, लेकिन इसके बजाय Colv=T जीतती है और आपको दो स्वतंत्र क्लस्टर ऑर्डरिंग मिलती हैं जो अलग-अलग होती हैं।

result <- heatmap.2(mtscaled, Rowv=T, scale='none', dendrogram="row", symm = T, col = brewer.pal(9,"Reds")) 

symmetrical heatmap

+2

हाय @Xan धन्यवाद मैं वास्तव में यह करने के लिए कर रहा था:

यदि आप dendrogram की अनावश्यक नकल होने पर छोड़ देना, निम्नलिखित हीटमैप आप चाहते हैं, कम से कम कर देता है इस परिणाम <- heatmap.2 (mtscaled, dendrogram = "col", scale = 'none', symm = t, col = bluered (16), breaks = my.breaks) मैं आपका जवाब स्वीकार करता हूं और +1 क्योंकि यह मेरे पास से अलग था :-) – Alos

संबंधित मुद्दे

 संबंधित मुद्दे