【问题标题】:2 proportions hypothesis testing in RR中的2个比例假设检验
【发布时间】:2021-07-07 01:26:12
【问题描述】:

我正在尝试进行假设检验,以查看一个比例是否与另一比例显着不同。 R中是否有针对这种特定情况的功能?我应该如何获得 z-score、Zc、p hat 等?

非常感谢

【问题讨论】:

    标签: r hypothesis-test


    【解决方案1】:

    如果不了解相关数据,很难确切地说出您要应用哪种测试。我发现“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!

    【讨论】:

      【解决方案2】:

      据我发现,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 
      

      【讨论】:

        【解决方案3】:

        这是一个函数,它将为带有双尾假设的两个比例 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

        【讨论】:

          猜你喜欢
          • 2018-10-16
          • 1970-01-01
          • 2018-08-10
          • 2018-08-26
          • 2020-06-30
          • 2018-02-09
          • 2016-10-01
          • 2015-01-21
          • 2021-12-31
          相关资源
          最近更新 更多