我试图用R运行此代码,但它给了我错误:
rm(list = ls())
gibbs <- function (n, k, y0, m, alpha, beta){
z <- array (0,n)
for (i in 1 : n) {
x <- array (0,k)
y <- array (0, k+1)
y[1] <- y0
for (j in 1 : k) {
x[j] <- rbinom (1, m, y[j])
y[j+1] <- rbeta (1, x[j]+alpha, m-x[j]beta)
}
z[i]=x[k]
}
print (mean(z))
print (var(z))
}
gibbs(1000, 50, 0.5, 3, 8.5, 4.5)
它究竟出了什么问题?这是它给出的错误:
source("E:\\Program Files\\R\\test.R")
Error in source("E:\\Program Files\\R\\test.R") :
E:\Program Files\R\test.R:11:39: unexpected symbol
10: x[j] <- rbinom (1, m, y[j])
11: y[j+1] <- rbeta (1, x[j]+alpha, m-x[j]beta
先谢谢
答案 0 :(得分:0)
R不知道此表达式x[j]
中beta
和m-x[j]beta
之间的操作。如果你想成倍增加,那就放一个*
。如果您想添加,请在其中添加+
。
预计会有运营商,因此启动b
的{{1}}意外。