当我查看上面的帮助文件时,它在R:
中提供了这个示例程序##
## rbprobitGibbs example
##
if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=2000} else {R=10}
set.seed(66)
simbprobit=
function(X,beta) {
## function to simulate from binary probit including x variable
y=ifelse((X%*%beta+rnorm(nrow(X)))<0,0,1)
list(X=X,y=y,beta=beta)
}
nobs=200
X=cbind(rep(1,nobs),runif(nobs),runif(nobs))
beta=c(0,1,-1)
nvar=ncol(X)
simout=simbprobit(X,beta)
Data1=list(X=simout$X,y=simout$y)
Mcmc1=list(R=R,keep=1)
out=rbprobitGibbs(Data=Data1,Mcmc=Mcmc1)
summary(out$betadraw,tvalues=beta)
if(0){
## plotting example
plot(out$betadraw,tvalues=beta)
}
所以,我的问题是,simbprobit的代码是否只是为rbprobitGibbs函数准备了一些模拟值?也就是说,如果我从rbprobitGibbs计算结果,我是否可以有效地忽略simbprobit并简单地准备Data,Prior,Mcmc输入值?
答案 0 :(得分:0)
是的,经过一些研究,我发现它是通过simbprobit
的模拟随机输入,因为函数调用rnorm
意味着它是一个随机变量。从帮助文件:
&#34; dnorm
给出密度,pnorm
给出分布函数,qnorm
给出分位数函数,rnorm
生成随机偏差。&#34;