无法使用phangorn :: phyDat

问题描述

我正在模仿伊曼纽尔·帕拉迪斯(emmanuel Paradis)的“系统进化论第二版和R进化论”中的一个例子。

他正在做

enter image description here

我做的差不多:

x=c('garras','garras','tejido','tejido')
y <- phyDat(matrix(x),"USER",levels = unique(x))

但是我得到了

phyDat.default中的错误(数据,级别=级别,return.index = return.index ,:数据对象必须包含分类单元名称

屏幕截图:

enter image description here

我在做什么错?书中的示例如何运作...

解决方法

如错误消息所述,x需要具有(种类)名称。 这可以是命名向量:

x <- c('garras','garras','tejido','tejido')
names(x) <- paste0("t",1:6)
y <- phyDat(x,"USER",levels = unique(x))

或具有行名的矩阵:

x <- matrix(x,dimnames = list(paste0("t",1:6),NULL))
y <- phyDat(matrix(x),levels = unique(x))

相关问答

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