使用R的popbio包运行pop.projection做种群预测报错如何解决?
报错原因
你遇到的报错核心原因是矩阵和初始种群向量维度不匹配,和N0的数据类型无关,R的数值向量可以直接用于矩阵乘法运算:
- 你构造的Leslie矩阵
les.mat为6行6列的二维结构,矩阵乘法要求输入的初始种群向量长度必须和矩阵的列数相等 - 你当前定义的
N0长度为7,多了最后一位的0值,不符合维度匹配要求,因此触发参数不兼容报错
修复方法
直接修改N0的定义,删掉最后多余的0,保留6个元素即可,不需要做额外的类型转换:
# 修正后的初始种群向量,长度为6,和les.mat的列数匹配 N0 <- c(100,80,64,51,31,10) # 重新运行种群预测代码即可正常得到结果 projA <- pop.projection(les.mat,N0,10)
内容的提问来源于stack exchange,提问作者rchallender
相关产品推荐
相关产品推荐

