R 嵌套循环产生以下错误:数学函数的非数值参数

R 嵌套循环产生以下错误:数学函数的非数值参数,r,R,我是R的新手,在执行这个脚本时遇到了问题。嵌套循环输出“非数值参数到数学函数”错误。我不确定嵌套循环中的哪个参数是非数值的?在此方面的任何帮助都将不胜感激。 谢谢 库(emdbook) prevprevprevah,是。谢谢现在我得到了这个错误:在x[[jj]]oops中的错误在我准备好之前点击回车键。我不确定嵌套循环是否是我想要的?谢谢你的帮助。我要做更多的研究。我对R一无所知,也不知道你到底想达到什么目的,所以很难给出太多的建议。然而,嵌套循环通常用于二维类型的任务。所以如果你有一个矩阵,你

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

库(emdbook)

prev
prev
prevah,是。谢谢现在我得到了这个错误:在x[[jj]]oops中的错误在我准备好之前点击回车键。我不确定嵌套循环是否是我想要的?谢谢你的帮助。我要做更多的研究。我对R一无所知,也不知道你到底想达到什么目的,所以很难给出太多的建议。然而,嵌套循环通常用于二维类型的任务。所以如果你有一个矩阵,你可以在每一行上循环。然后在每一行中,循环遍历该行中的每个元素。如果您只有两个试图并行处理的数组,只需使用一个循环,并使用一个变量对两个数组进行索引。假设数组的长度相同。如果不是,那么你可能需要两个循环,但是一个接一个地循环,而不是在另一个循环中循环。啊,是的。谢谢现在我得到了这个错误:在x[[jj]]oops中的错误在我准备好之前点击回车键。我不确定嵌套循环是否是我想要的?谢谢你的帮助。我要做更多的研究。我对R一无所知,也不知道你到底想达到什么目的,所以很难给出太多的建议。然而,嵌套循环通常用于二维类型的任务。所以如果你有一个矩阵,你可以在每一行上循环。然后在每一行中,循环遍历该行中的每个元素。如果您只有两个试图并行处理的数组,只需使用一个循环,并使用一个变量对两个数组进行索引。假设数组的长度相同。如果不是,那么你可能需要两个循环,但是一个接一个地循环,而不是一个在另一个循环中循环。你能给出一些关于你要做什么的更多上下文吗?你能告诉我们上一篇文章的内容吗?还是它的一个子集?您可以在R控制台中键入
dput(prev)
,并将输出复制到问题中,以便我们可以重新创建数据。我敢打赌,在这里有其他方法来做你想做的事情,而不必求助于双循环。你的内循环做什么?据我所知,您的代码将覆盖每个外部循环上的
postvec
,也就是说,您将得到一个描述最后一次操作结果的向量(其中
I==length(shape1))
)@Chase我们正试图估计一定比例的95%贝叶斯可信区间。例如,我们正在研究青蛙身上的一种疾病,比如说,我们从总共10只青蛙的样本中检测出3只患病的动物。我们的比例(或疾病流行率)是3/10,或0.3。我们咨询了一位同事,他告诉我们,在这个函数中,形状1=1-mu,其中mu=患病动物,形状2=1+n-mu,其中n=总样本量。因此,对于我们的示例,形状1=1-mu=1-3=-2和形状1=1+n-mu=1+10-3=8。这些都有意义吗?你能提供一些关于你想做什么的背景吗?你能告诉我们上一篇文章的内容吗?还是它的一个子集?您可以在R控制台中键入
dput(prev)
,并将输出复制到问题中,以便我们可以重新创建数据。我敢打赌,在这里有其他方法来做你想做的事情,而不必求助于双循环。你的内循环做什么?据我所知,您的代码将覆盖每个外部循环上的
postvec
,也就是说,您将得到一个描述最后一次操作结果的向量(其中
I==length(shape1))
)@Chase我们正试图估计一定比例的95%贝叶斯可信区间。例如,我们正在研究青蛙身上的一种疾病,比如说,我们从总共10只青蛙的样本中检测出3只患病的动物。我们的比例(或疾病流行率)是3/10,或0.3。我们咨询了一位同事,他告诉我们,在这个函数中,形状1=1-mu,其中mu=患病动物,形状2=1+n-mu,其中n=总样本量。因此,对于我们的示例,形状1=1-mu=1-3=-2和形状1=1+n-mu=1+10-3=8。这些有意义吗?
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])
}
}
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)