Heatmap de Données de puces à adn à l'aide de Pearson Distance

J'ai essayé de générer une matrice de classification en R pour certaines données de puces à adn et pour la plupart, ont été couronnés de succès dans la production, basé sur la formation en ligne, mais il ne fait pas exactement ce que je veux. Ce que je voudrais, c'est pour des données de cluster basé sur Pearson distance, plutôt que la distance euclidienne, mais j'ai quelques difficultés.

À l'aide de heatmap2 (à partir de la gplots paquet) j'utilise le code suivant pour faire ma première carte de chaleur:

heatmap.2(Test402,trace="none",density="none",scale="row", ColSideColors=c("red","blue")   [data.test.factors],col=redgreen,labRow="",hclustfun=function(x) hclust(x,method="complete"))

Test402 est une matrice avec 402 lignes (les gènes) et 31 colonnes (les patients), et de données.test.les facteurs sont des indicateurs de résultat du groupe de chaque patient appartient. À l'aide de hclustfun fonctionne très bien ici et la heatmap semble être plus sensible aux changements dans la méthode et de l'ensemble des œuvres. Le problème, c'est le regroupement distance est tout de la distance Euclidienne, je voudrais changer qu'à l'aéroport Pearson de distance. J'ai donc tenter le suivant:

heatmap.2(Test402,trace="none",density="none",scale="row", ColSideColors=c("red","blue")[data.test.factors],col=redgreen,labRow="",hclustfun=function(x) hclust(x,method="complete"), distfun=function(x) as.dist((1-cor(x))/2) )

la commande ci-dessus échoue. C'est parce que Test402 doit être une matrice carrée. Donc à la recherche d'autres conseils, j'ai essayé le suivant:

cU = cor(Test402)
heatmap.2(cU,trace="none",density="none",scale="row", ColSideColors=c("red","blue")[data.test.factors],col=redgreen,labRow="",hclustfun=function(x) hclust(x,method="complete"), distfun=function(x) as.dist((1-x)/2) )

Qui fonctionne, MAIS là est le problème. La heatmap, plutôt que d'avoir l'original de l'expression des valeurs dans TEST402, maintenant n'affiche que les corrélations. C'est NOTwhat je veux! Je veux cette, et je veux seulement le dendrogramme de cluster différemment, je ne veux pas changer ce que les données sont effectivement représentés dans la heatmap! Est-ce possible?

OriginalL'auteur Ana | 2011-07-16