Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用adegenet R软件包为树中的不同簇提供不同的颜色_R_Plot_Phylogeny - Fatal编程技术网

使用adegenet R软件包为树中的不同簇提供不同的颜色

使用adegenet R软件包为树中的不同簇提供不同的颜色,r,plot,phylogeny,R,Plot,Phylogeny,我正在使用R包adegenet绘制邻居加入树 在我的文件中,我有20000列和500行。行对应于个人。我的第一列是人口ID,第二列是个人ID。列包含值0、1和2。我可以用一种颜色绘制一棵树,但根据人口的不同,我希望每个簇都是不同的颜色 这就是我所做的,如果“dat”是我的数据文件,那么 D<-dist(as.matrix(dat)) tre<-nj(D) plot(tre, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, edg

我正在使用R包
adegenet
绘制邻居加入树

在我的文件中,我有20000列和500行。行对应于个人。我的第一列是人口ID,第二列是个人ID。列包含值0、1和2。我可以用一种颜色绘制一棵树,但根据人口的不同,我希望每个簇都是不同的颜色

这就是我所做的,如果“dat”是我的数据文件,那么

D<-dist(as.matrix(dat))
tre<-nj(D)
plot(tre, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, edge.col="Blue")

谢谢你的帮助

您的示例应该是可复制的,以便更容易帮助和再现您的问题。有关详细信息,请参阅此帖子。我正在尝试使用
iris
,它就像一个符咒。顺便说一句,我认为这里不需要
adegenet
plot
实际上是一个
plot.phylo
,它来自于包
ape
),所有其他函数都是内置的或来自
ape

文档(
?plot.phylo
)中说:

edge.col
模式特征向量,给出绘制系统发育分支所用的颜色。它们的顺序与phy的组件边缘相同。如果给出的颜色少于边的长度,则颜色被回收

ape
保留顺序或行,您可以使用
因子
为颜色向量编制索引,因此使用
iris
的可复制示例可以是:

library(ape)
D <-dist(as.matrix(iris[, 1:4]))
tree <- nj(D)
plot(tree, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, 
           edge.col=c("red","green","blue")[iris$Species])
库(ape)

D谢谢@Vincet!这就是我要找的。我想知道是否有办法有选择地按名称删除样本?一些样品正在毁坏这棵树。
library(ape)
D <-dist(as.matrix(iris[, 1:4]))
tree <- nj(D)
plot(tree, type = "unr", show.tip.lab = TRUE, cex=0.3, font=1, 
           edge.col=c("red","green","blue")[iris$Species])