r - 一个代码中的多个二项式测试

标签 r for-loop lapply hypothesis-test

我想使用 binom R 包(binom.test 函数)执行精确的二项式测试,以 4 个不同的概率值获得 4 个不同的成功次数。

我可以单独完成,但我想知道是否可以编写一段代码来仅用一个命令(例如 lapply、for 循环)进行计算。

x <- c(68, 69, 70, 75)  #number of successes
p <- c(1/365, 2/365, 3/365, 4/365)  #probability of success
n <- 265 #number of trials

conf.level = 0.95alternative = "two.side"(因为结果可以是 1 或 0)。

有什么建议吗?


我尝试过:

for (i in 1:4) {
     test[i] <- binom.test(x[i], n, p[i], alternative = "two.sided", conf.level = 0.95)
      }

但不起作用。

最佳答案

使用maply:

mapply(binom.test, x, p, n=n, alternative = "two.sided", conf.level = 0.95, SIMPLIFY = FALSE)

maply 只是在其第一个参数中调用该函数,并使用其附加参数和附加命名参数中的所有值。 (请参阅mapply函数的帮助)

如果您只想要结果的一个字段,您可以像这样调用 mapply:

mapply(function(x,p,n, ...){
         binom.test(x, n, p, ...)$p.value
       },
       x, p, n=n, alternative = "two.sided", conf.level = 0.95)

关于r - 一个代码中的多个二项式测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633432/

相关文章:

r - 如何确定字符向量是有效的数字向量还是整数向量

r - lapply 和 for 循环通过 R 中的 data.frames 列表运行函数

r - 优化 R 代码 - S&P500 系列的抽样返回

Javascript - inc var +18 每个特定值步进器

用级数计算 pi

r - 如何重新排序 R 中列表中所有数据框的列?

用内插值替换值比它之前的行值更小的行

r - 当一个组有多个重复行时如何在 R 中执行滞后

r - 如何使 geom_text() 与 geom_segment() 在 log-lin 尺度上平行?

python - for循环在python中在哪里结束