r中的样本大小和功率计算是SAS中可行的替代功能吗?

use*_*008 6 r sample sas hmisc sample-size

所以我试图看看样本大小计算(对于样本大小不等的两个样本独立比例)在SAS中的proc功率和r中的一些样本大小函数之间有多接近.我正在使用加州大学洛杉矶分校网站上的数据.

加州大学洛杉矶分校的网站提供如下参数:

p1 = .3,p2 = .15,功率= .8,零差值= 0,对于双侧测试,假设样本量相等;

对于不相等的样本大小测试,参数是相同的,组1的组权重为1,组2的组权重为2,它们执行的测试是单侧的.

我正在使用r函数

pwr.t.test(n=NULL,d=0,sig.level=0.05,type="two.sample",alternative="two.sided")
Run Code Online (Sandbox Code Playgroud)

pwr包中.

因此,如果我输入参数选择作为UCLA网站的第一个示例,我会收到以下错误:

Error in uniroot(function(n) eval(p.body) - power, c(2, 1e+07)) :
  f() values at end points not of opposite sign. 
Run Code Online (Sandbox Code Playgroud)

这似乎是因为r无法检测到差异.我设置d = .5然后就跑了.SAS会因为太小的差异而给出错误吗?它不在示例中,因为它们的零差也是零.

我在使用时也会收到上述错误

pwr.2p.test(h = 0, n = , sig.level =.05, power = .8) 
Run Code Online (Sandbox Code Playgroud)

pwr.chisq.test(w =0, N = , df =1 , sig.level =.05, power =.8 ).
Run Code Online (Sandbox Code Playgroud)

我可能正在做一些可怕的错误,但如果假设差异为0,我似乎无法找到一种方法.

我知道SAS和r正在使用不同的方法来计算功率,所以我不应该期望得到相同的结果.我真的只是想看看我是否可以在r中复制proc power结果.

我已经能够得到几乎相同的结果,第一个例子具有相同的样本大小和使用的双面替代方案

 bsamsize(p1=.30,p2=.15,fraction=.5, alpha=.05, power=.8)
Run Code Online (Sandbox Code Playgroud)

Hmisc包中.但是当他们进行不同样本量的单侧测试时,我无法复制这些测试.

有没有办法在r中复制过程,以便针对不相等的组大小进行单侧样本大小计算?

干杯.

Blu*_*ter 3

pwr.t.test及其导数中,d不是零差异(假设为零),而是两个群体之间的效应大小/假设差异。如果总体均值之间的差异为零,则任何样本量都无法让您检测到不存在的差异。

如果总体 A 的比例为 15%,总体 B 的比例为 30%,则您可以使用该函数pwr::ES.h计算效应大小并进行比例检验,如下所示:

> pwr.2p.test(h=ES.h(0.30,0.15),power=0.80,sig.level=0.05)

     Difference of proportion power calculation for binomial distribution (arcsine transformation) 

              h = 0.3638807
              n = 118.5547
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: same sample sizes

> pwr.chisq.test(w=ES.w1(0.3,0.15),df=1,sig.level=0.05,power=0.80)

     Chi squared power calculation 

              w = 0.2738613
              N = 104.6515
             df = 1
      sig.level = 0.05
          power = 0.8

NOTE: N is the number of observations
Run Code Online (Sandbox Code Playgroud)

  • 因此,我最终能够通过手动执行计算来复制结果。我认为在 r 中制作一个包来执行 proc power 执行的一些测试是值得的。我已经设置了公式,但不确定制作一个执行必要计算的包有多困难。 (2认同)