未使用的参数错误R代码

时间:2016-08-02 17:01:03

标签: r arguments

对于采样重要性重采样算法,我遇到以下代码问题。它返回

  

log = True:未使用的Argument

宣传Theta。

T = 1e5
theta <- runif(T,0,1, log=TRUE) 
log.p <- function(x) dbeta(x, 3000+711, 17000+2201-711)
log.s <-  function(x) dunif(x, 0, 1,)
w <- function(t) log.p(t) / log.s(t)
HA <- sum(w(theta)%*%theta)/T

2 个答案:

答案 0 :(得分:1)

错误消息表明log函数没有runif参数。检查*unif函数系列的文档(例如运行?runif)向我们展示了这一点:

Usage:

     dunif(x, min = 0, max = 1, log = FALSE)
     punif(q, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE)
     qunif(p, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE)
     runif(n, min = 0, max = 1)

答案 1 :(得分:1)

如果我错了,更精通R的人会纠正我,但是从 here 来看,看起来runif()并没有采用日志参数。只是停止传递log = true,因为它在这里没有做任何事情。