popbio中的特征分析问题

时间:2015-05-11 16:57:34

标签: r

我一直在尝试使用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来表达这个问题,所以如果这个问题错了,请为此道歉。

干杯, 凯文

1 个答案:

答案 0 :(得分:0)

如果在附加软件包中遇到函数问题,我会遍历每行代码,然后提出一个更一般的问题。例如,

  1. 键入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
    ...
    
  2. 如果您运行错误

    A <- matrix(c(0,0,2,.3,0,0,0,.6,0), nrow=3,byrow=TRUE)
    ev <- eigen(A)
    Mod(ev$values)
    
  3. 然后在Stack Overflow上问这个问题。

    1. 只是一个猜测,但我不确定为什么你会看到Mod(z $ values)中的Error而不是Mod(ev $ values),除非你有一些更新的eigen.analysis脚本。