if (k <= 0.8 && any(rr > (strwidth("W") * fsize/2))) rr <- rr/max(rr) * 中的错误

问题描述

我正在使用 phytools 包,并尝试使用 dottree 函数将额外特征的数据添加到我的系统发育树中,但出现如下所示的错误

我试图通过更改我的数据(特征)来修复它,但出现了其他错误。有什么建议吗?

trait<-as.matrix(read.csv("C:/Torres-Ruiz/JM/Proyectos-Experim/France/2018_Variation_P50/Analyses/Phylogeny/less spp/P50vsAllHmaxRAIN_Phylogeny2.csv",row.names=1))[,2]
trait
Rhododendron hirsutum Rhododendron x intermedium Senecio filaginoides Banksia sphaerocarpa
-3.230 -1.870 -5.000 -3.700
Mulinum spinosum Rhododendron ferrugineum Rosmarinus officinalis
-5.700 -3.010 -9.402
dottree(myTree,trait)
Error in if (k <= 0.8 && any(rr > (strwidth("W") * fsize/2))) rr <- rr/max(rr) * :
missing value where TRUE/FALSE needed

解决方法

特征的名称和提示标签是否匹配?树中的标签通常包含下划线而不是空格。 例如。 match(myTree$tip.label,names(trait)) 不应包含任何 NA。否则,请提供可重现的示例。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...