Ich möchte eine Heatmap von p-Werten mit dem Ergebnis eines paarweisen.wilcox.test erstellen. Also, nach Durchführung des Tests, umformen ich das Ergebnis:Wie man eine schlampige Heatmap anordnet r
test <- pairwise.wilcox.test(world$mean, world$con, p.adjust.method ="bonferroni",conf.level = 0.95)
test.result <- melt (test[[3]],na.rm=T)
Das Ergebnis ist folgendes:
X1 X2 value
1 europe africa 7.216273e-20
2 namerica africa 2.694228e-23
3 samerica africa 1.001953e-01
4 asia africa 3.515077e-66
5 europe europe NA
6 namerica europe 6.551144e-02
7 samerica europe 2.615654e-05
8 asia europe 2.148064e-09
9 europe namerica NA
10 namerica namerica NA
11 samerica namerica 4.894171e-10
12 asia namerica 3.642124e-02
13 europe samerica NA
14 namerica samerica NA
15 samerica samerica NA
16 asia samerica 5.999172e-25
Dann laufe ich ein ggplot2 Skript die Heatmap zu erhalten:
test.result$X1 <- factor(test.result$X1, levels = c("europe", "namerica", "samerica", "asia"))
test.result$X2 <- factor(test.result$X2, levels = c("europe", "namerica", "samerica","asia"))
test.result$value<-cut(test.result$value, breaks=c(-Inf,0.001,0.05,1),right=F)
ggplot(data = test.result, aes(X1, X2, fill = value)) +
geom_tile(aes(fill=test.result$value),color="white") +
scale_fill_brewer(palette="Blues",name="p-Val")
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, vjust = 1,
size = 12, hjust = 1)) +
coord_fixed()
Das Ergebnis ist die folgende Abbildung:
Als Sie können sehen, die Figur ist nicht in der Diagonalen sortiert, ist irgendwie schlampig ... Ich weiß nicht, wie man die Figur richtig anordnet, um alle p-Werte in der Diagonalen zu bekommen. Danke für Ihre Hilfe
Die Figur, die ich suche ist wie folgt:
Es ist nicht klar, wie soll der erwartete Plot aussehen? – zx8754
Vielleicht habe ich mich nicht richtig erklärt. Ich möchte, dass die Figur in der Diagonale dargestellt wird. Wie eine paarweise Handlung! – Cebs
Ich bekomme immer noch nicht, was Sie wollen.Was willst du auf der Diagonale? – Alex