问题描述
我正在模仿伊曼纽尔·帕拉迪斯(emmanuel Paradis)的“系统进化论第二版和R进化论”中的一个例子。
他正在做
我做的差不多:
x=c('garras','garras','tejido','tejido')
y <- phyDat(matrix(x),"USER",levels = unique(x))
但是我得到了
phyDat.default中的错误(数据,级别=级别,return.index = return.index ,:数据对象必须包含分类单元名称
屏幕截图:
我在做什么错?书中的示例如何运作...
解决方法
如错误消息所述,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))