我一直在尝试使用R中的'popbio'软件包来计算人口统计费率。我试图获得特征值的灵敏度,但仍然得到错误“Mod中的错误(z $值):非数字参数发挥作用“。所以,我试图从'popbio'包运行示例并得到相同的错误。从包装手册中的示例:
A<-matrix(c(0,0,2,.3,0,0,0,.6,0), nrow=3,byrow=TRUE) #matrix from example
ev <- eigen.analysis(A) # calculation of eigenvalues
Error in Mod(z$values) : non-numeric argument to function #error I get for example and my data
我知道这个功能需要一个矩阵。由于对象“A”是一个矩阵,我很困惑为什么我得到错误。任何有关我为什么会收到此错误的帮助将不胜感激!我很擅长使用R来表达这个问题,所以如果这个问题错了,请为此道歉。
干杯, 凯文
答案 0 :(得分:0)
如果在附加软件包中遇到函数问题,我会遍历每行代码,然后提出一个更一般的问题。例如,
键入eigen.analysis
并按回车键查看下面的代码(第4行是唯一调用Modulus用于阻尼比率)
ev <- eigen(A)
lmax <- which.max(Re(ev$values))
lambda <- Re(ev$values[lmax])
dr <- rle(round(Mod(ev$values), 5))$values
...
如果您运行错误
A <- matrix(c(0,0,2,.3,0,0,0,.6,0), nrow=3,byrow=TRUE)
ev <- eigen(A)
Mod(ev$values)
然后在Stack Overflow上问这个问题。