【发布时间】:2018-01-17 15:04:23
【问题描述】:
在下面的 R 函数中,我想知道如何更改我的代码,以便我可以从 fun 函数中获取 pe?目前,fun 只输出L 和U。
PS当然,我想保持该功能像现在一样工作,因此replicate可能也需要更改,因为fun输出pe除了L 和U。
CI.bi = function(n, p, n.sim){
fun <- function(n1 = n, p1 = p){
x <- rbinom(1, size = n1, prob = p1)
pe <- x/n1
res <- binom.test(x, n1, p1)[[4]]
c(L = res[1], U = res[2])
}
sim <- t(replicate(n.sim, fun()))
y = unlist(lapply(1:n.sim, function(x) c(x, x)))
plot(sim, y, ty = "n", ylab = NA, yaxt = "n")
segments(sim[ ,1], 1:n.sim, sim[ ,2], 1:n.sim, lend = 1)
}
# Example of use:
CI.bi(n = 15, p = .5, n.sim = 3)
【问题讨论】:
标签: r function for-loop sapply replicate