嵌套循环产生此错误:数学函数的非数字参数

时间:2011-06-20 23:20:21

标签: r

我对R很新,我在执行此脚本时遇到问题。嵌套循环输出“数学函数的非数字参数”错误。我不确定嵌套循环中的哪个参数是非数字的?任何有关这方面的帮助将不胜感激。 感谢。

library(emdbook)

prev<-read.delim("shape.txt", header=T)
shape1<-prev$shape1
shape1<-as.numeric(shape1)
shape2<-prev$shape2
shape1<-as.numeric(shape2)

pvec <- seq(0, 1, length=298)

postvec<-data.frame(posterior=1:298)
dim(postvec)

for (i in 1:length(shape1)) 
{
    for (j in 1:length(shape2)) 
    {
    postvec[i]<- dbeta(pvec, shape1= shape1[i], shape2=shape2[j])
}
}

1 个答案:

答案 0 :(得分:3)

prev<-read.delim("shape.txt", header=T)
shape1<-prev$shape1
shape1<-as.numeric(shape1)
shape2<-prev$shape2
shape1<-as.numeric(shape2)

最后一行应该说:

shape2<-as.numeric(shape2)