【发布时间】:2021-07-07 01:26:12
【问题描述】:
我正在尝试进行假设检验,以查看一个比例是否与另一比例显着不同。 R中是否有针对这种特定情况的功能?我应该如何获得 z-score、Zc、p hat 等?
非常感谢
【问题讨论】:
标签: r hypothesis-test
我正在尝试进行假设检验,以查看一个比例是否与另一比例显着不同。 R中是否有针对这种特定情况的功能?我应该如何获得 z-score、Zc、p hat 等?
非常感谢
【问题讨论】:
标签: r hypothesis-test
如果不了解相关数据,很难确切地说出您要应用哪种测试。我发现“rstatix”在学习如何使用 R 进行许多常见的统计测试方面变得非常流行。这是文档中的一个示例,其中描述了所有功能。虽然基本上所有都可以在 base R 中使用,但对于那些不熟悉它们的人来说,测试诊断可能有点时髦。
https://cran.r-project.org/web/packages/rstatix/rstatix.pdf
# Exact binomial test
# Data: 160 mice with cancer including 95 male and 65 female
# Q1: Does cancer affect more males than females?
binom_test(x = 95, n = 160)
tulip <- c(red = 81, yellow = 50, white = 27)
# Q1: Are the colors equally common?
chisq_test(tulip)
pairwise_chisq_gof_test(tulip)
如果您提供有关这些数据的更多信息,以及您感兴趣的测试,这将有助于我们提供更有针对性的建议。否则请查看 Rstatix!
【讨论】:
据我发现,r 没有为您提供 2 比例 z 测试的 z 分数,它始终使用 X2 测试统计量。但是,这会为您提供相同的 p 值。
您可以执行常规卡方检验,也可以使用函数 prop.test。为此,您只需创建数据的频率表,然后将其用作“x”。
这是一个例子:
col1 <- c("m", "f", "f", "f", "m", "m", "m", "f")
col2 <- c("p", "f", "p", "f", "f", "f", "p", "f")
array <- cbind(col1, col2)
freqtable <- table(array[,1], array[,2], dnn =c("Gender","Pass/Fail"))
test <- prop.test(freqtable)
print(test)
这是输出:
2-sample test for equality of proportions with continuity correction
data: freqtable
X-squared = 0, df = 1, p-value = 1
alternative hypothesis: two.sided
95 percent confidence interval:
-0.6481972 1.0000000
sample estimates:
prop 1 prop 2
0.75 0.50
【讨论】:
这是一个函数,它将为带有双尾假设的两个比例 z 检验提供服务
twopropztest <- function(p1,n1,p2,n2)
{
p <- (p1*n1 + p2*n2) / (n1+n2)
print(paste0("p :",p))
z <- (p1-p2) / sqrt((p*(1-p))*(1/n1+1/n2))
print(paste0("z score: ",z))
# p-value for two-tailed
print(paste0("p-value(two-tailed): ",(1-pnorm(z))*2))
}
如果您使用prop.test,则需要更改correct = FALSE 并对X 平方分数进行平方以获得z 分数。就像maiebee所说的那样,p值是一样的。我亲自验证了prop.test的z分数和p.value
【讨论】: