本文默认α=0.05(sig.level),β=0.2(power),根据研究需要可调整。
导入包
library(pwr)
(1)已知标准差和预期差异
1、单样本t检验:某治疗措施预期提高某物质水平8mg/L,标准差为10mg/L。
#单样本t检验
pwr.t.test(d = 8/10, #期望的平均差异/总体标准差
sig.level = 0.05,
power = 1-0.2,
type = "one.sample",
alternative = "greater")#two.sided两边;greater:表示单侧检验中的大尾检验;less: 表示单侧检验中的小尾检验
2、两样本t检验:(1)已知预期A治疗措施与B治疗措施相差30%的标准差,两组样本量相同,计算样本量(2)已知预期A治疗措施差于B治疗措施60%的标准差,已知A治疗措施90人,计算B样本量。
#(1)两样本t检验(样本数量相同)
pwr.t.test(d = 0.3,#标准差的30%
sig.level = 0.05,
power = 1 - 0.2,
type = "two.sample",
alternative = "two.sided"
)
#(2)两样本t检验(样本数量不同)
pwr.t2n.test(d=0.6,
n1=90,
sig.level = 0.05,
power =0.8,
alternative="greater")
(2)已知样本率:(1)已知A治疗措施预期并发症率7%,一般治疗措施并发症率12%,计算A的样本量。(2)已知A治疗措施预期并发症率7%,B治疗措施并发症率12%,计算A、B的样本量。(3)已知A治疗措施预期并发症率7%,样本量164,B治疗措施并发症率12%,计算B的样本量。(4)已知预期A法有效率为90%,B法70%,C法80%,D法60%,计算总的样本量。
#(1)一组样本
pwr.p.test(h=ES.h(0.07,0.12),power=0.8,sig.level=0.05,alternative="less")
#(2)两组相同样本
pwr.2p.test(h=ES.h(0.07,0.12),power=0.8,sig.level=0.05,alternative="less")
#(3)两组不同样本量
pwr.2p2n.test(h = ES.h(0.07,0.12),
n1=164,
n2=90,
sig.level = 0.05,
alternative = "less"
)
#(4)多样本率
prob <- rbind(c(0.9, 0.7, 0.8,0.6), # 有效率
c(0.1, 0.3, 0.2,0.4)) # 无效率
pwr.chisq.test(w = ES.w2(prob/4), # 效应大小
df = (4-1)*(3-1), #自由度
sig.level = 0.05,
power = 1-0.2
)