ccjifei 发表于 2012-4-21 00:09 
谢谢~~请问所以是不是我还需要再加个判断语句判断h的可能结果?当我不用metrop 把向量i赋值代入方程h是有一 ...
你可以参考MCMC Package Example
demo.pdf来写log unnormalized posterior (log likelihood plus log prior) density function
#####
library(mcmc)
data(logit)
out <- glm(y ~ x1 + x2 + x3 + x4, data = logit, family = binomial(), x = TRUE)
summary(out)
#log unnormalized posterior (log likelihood plus log prior) density
lupost <- function(beta, x, y) {
eta <- as.numeric(x %*% beta)
logp <-
ifelse(eta < 0, eta - log1p(exp(eta)), -log1p(exp(-eta)))
logq <-
ifelse(eta < 0, -log1p(exp(eta)), -eta - log1p(exp(-eta)))
logl <- sum(logp[y == 1]) + sum(logq[y == 0])
return(logl - sum(beta^2)/8)
}
set.seed(42)
x <- out$x
y <- out$y
beta.init <- as.numeric(coefficients(out))
metropout <- metrop(lupost, beta.init, 1000, x = x, y = y)
names(metropout)