在 R 中对数据帧进行矢量化 prop.test

Vectorizing prop.test over dataframe in R

这是一个基本问题,我收到了以下错误。

Error in prop.test: 'x' and 'n' must have the same length

使用此代码

cv_MH$pval <- (prop.test(x = c(cv_MH$search, cv_MH$against), n = c(size, size2)))$p.value

其中 sizesize2 是较大的常数 (>200,000)。

这就是 cv_MH 的样子

search    against
45        23
384       274
657       883

基本上,我试图在 cv_MH 中创建另一个计算 p 值的变量。

谢谢。

我认为您需要为 x 中的每个值重复计数 (n)。 这个呢?

cv_MH$pval <- prop.test(x = c(cv_MH$search, cv_MH$against), 
                        n = c(rep(size, length(cv_MH$search)),
                              rep(size2, length(cv_MH$against))))$p.value

x 表示成功次数(感兴趣的事件),n 表示事件总数...x 的长度应与 n 相同,如您的错误消息所建议的