【发布时间】:2021-11-05 23:19:31
【问题描述】:
这是我的原始模型。
library(rjags)
library(R2jags)
cat("model{
for(i in 1 :N){
y[i] ~ dnorm(theta[i],tau)
theta[i] <- beta[1] + beta[2]*x1[i] + beta[3]*x2[i]
}
for(j in 1:3){
beta[j] ~ dnorm(0,0.001)}
sigma ~ dgamma(0.001,0.001)
tau <- pow(sigma,-2)
}",file="m1.txt")
set.seed(123)
dd <- data.frame(y=rnorm(20,0,1),
v=sample(seq(0, 50, by=5),size=20,replace = T),
m=sample(seq(2,48,by=3),size=20,replace = T))
d <- with(dd,list(N=length(y),y=y,x1=v,x2=m))
model1 <- jags(data=d,inits=NULL,
parameters.to.save=c("beta","tau"),
n.chains=3,n.iter=10000,n.burnin=5000,n.thin=10,
model.file="m1.txt")
我正在尝试使用上面的回归模型进行敏感性分析。我有两个自变量 v 和 m。
v 取值在 0 到 50 之间,m 取值在 2 到 48 之间
我想生成单位增量为 v 和 m 的新数据集,这样:
数据集 1:我设置 v =0 和 m=2
数据集 2:v = 1 和 m= 2
。 . .
。 . .
。 . .
数据集 51:v =51 和 m=2
数据集 52:v=0 和 m=3
数据集 53:v = 1 和 m= 3
。 . .
。 . .
。 . .
数据集 102:v =51 和 m=3
。 . .
。 . .
。 . .
数据集 153:v =0 和 m=4
。 . .
。 . .
。 . .
数据集 2448:v =51 和 m=48 注意:每个数据集应该有 20 行,y 应该是一个随机数。
然后我将使用 2000 plus 数据集和 beta[s] 的系数来预测 ys,因此对于每个数据集我应该预测 20 个 y 值。我有一个 y 的基准值。因此,在每个预测值中,我将为 v 和 m 值的每个组合绘制符合基准值的 y 的数量。
请问我如何将以上内容合并到我的原始模型中?
【问题讨论】:
-
你想要吗?数据集 1 有 20 行,其中 y 是一个随机数,另外两列 v 和 m 分别只是 0 和 2 重复 20 次?
-
@是的,每个数据集将有 20 行
标签: r regression lapply bayesian rjags