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中复制过程,以便针对不相等的组大小进行单侧样本大小计算?
干杯.
在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)