R 如何结合系统发育树和热图?

R 如何结合系统发育树和热图?,r,heatmap,phylogeny,ggtree,R,Heatmap,Phylogeny,Ggtree,我需要将系统发育树和热图结合起来,所以我一直尝试在R中使用ggtree和phytools包来实现这一点。但是,我没有成功。 我的数据集如下所示 ((org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519); tree = read.tree(text = "org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,

我需要将系统发育树和热图结合起来,所以我一直尝试在R中使用ggtree和phytools包来实现这一点。但是,我没有成功。 我的数据集如下所示

((org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);
tree = read.tree(text = "org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);")
d <- data.frame(read.csv("data.csv"))
traits <- data.frame(d, fastBM(tree))
p8 <- ggtree(tree) +  xlim(0, 125) + geom_tiplab(size = 2, offset = 17)
p9 <- gheatmap(p8, traits, offset = 0.2, width = 0.2, low = "white", high = "black", colnames_position = "top", font.size = 2)
以下教程采用了这些代码, 代码如下所示:

((org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);
tree = read.tree(text = "org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);")
d <- data.frame(read.csv("data.csv"))
traits <- data.frame(d, fastBM(tree))
p8 <- ggtree(tree) +  xlim(0, 125) + geom_tiplab(size = 2, offset = 17)
p9 <- gheatmap(p8, traits, offset = 0.2, width = 0.2, low = "white", high = "black", colnames_position = "top", font.size = 2)
tree=read.tree(text=“org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);)

d我找到了一个解决方案,你应该把Randi Griffin在他的帖子中提出的所有论点都放在一边,事实上,这会使你的表述错误

您将需要以下软件包:

library(ape)
library(dplyr)
library(phytools)

# install from Bioconductor
source("https://bioconductor.org/biocLite.R")
biocLite("ggtree")

library(ggtree)


tree <- read.tree(text = "(org1:1, org2:1, (org3:0.15, org4:0.15):0.8500);")
traits <- data.frame(fastBM(tree, nsim=5))

plot(tree)

p8 <- ggtree(tree) +
  geom_tiplab(size=2) 

# add heatmap
p9 <-  gheatmap(p8,
                traits,
                offset=0.2, low="white", high="black", colnames_position = "top", font.size=2)

p9
此代码用于导入数据:

df <- read_csv("stack.txt")
df <- as.data.frame(df)
rownames(df) <- df$x
df <- df[,-1]
您可以查看以下地址的ape软件包vignette,以了解如何手动构建,就像您想要R中的data.tree对象一样:

它将帮助你完成剩下的工作,也将帮助我们帮助你


您的问题代码目前不正确,我们无法知道您想要哪棵树。

非常感谢您,雷米·库劳德。它工作得非常好。但是,热图没有反映data.csv/stack.csv值。热图没有反映data.csv/stack.csv值,而是反映了其他内容。谢谢你,雷米,刚才我改进了我的树文件代码。可以吗?我很高兴能帮助你。谢谢你的宝贵时间和帮助。它工作得很好。
p8 <- ggtree(tree) +
  geom_tiplab(size=2) 


# add heatmap
p9 <-  gheatmap(p8,
                df,
                offset=0.2, low="white", high="black", colnames_position = "top", font.size=2)

p9