这个(gibbs)代码出了什么问题?

时间:2014-04-13 17:27:51

标签: r

我试图用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

先谢谢

1 个答案:

答案 0 :(得分:0)

R不知道此表达式x[j]betam-x[j]beta之间的操作。如果你想成倍增加,那就放一个*。如果您想添加,请在其中添加+

预计会有运营商,因此启动b的{​​{1}}意外。