R语言pwrss包比例数据功效分析语法设置求助
如何用pwrss包计算初始比例0.5发生±30%变化的统计功效
需要计算检测某比例(初始值0.5)发生±30%变化(即变为0.65或0.35)的统计功效,但对pwrss包的函数选择和参数设置存疑,包文档说明模糊。
包中可用检验函数
1. 单样本比例与常数比较:pwrss.z.prop()
参数说明:
p:变化后的预期比例p0:待比较的初始常数比例
函数语法:
pwrss.z.prop(p, p0 = 0, margin = 0, arcsin.trans = FALSE, alpha = 0.05, alternative = c("not equal","greater","less", "equivalent","non-inferior","superior"), n = NULL, power = NULL, verbose = TRUE)
2. 两独立样本比例差异比较:pwrss.z.2props()
参数说明:
p1、p2:两组独立样本的预期比例
函数语法:
pwrss.z.2props(p1, p2, margin = 0, arcsin.trans = FALSE, kappa = 1, alpha = 0.05, alternative = c("not equal","greater","less", "equivalent","non-inferior","superior"), n2 = NULL, power = NULL, verbose = TRUE)
现有疑问
- 已知
pwrss.z.prop()参数顺序有影响,pwrss.z.2props()无影响,但不清楚比例参数的对应关系 - 不确定
alternative参数的合理选择:比如检测+30%变化时,该选"greater"还是"not equal"?
已尝试的代码
library(pwrss) # 单样本检验尝试 pwrss.z.prop(p=0.5, p0 = 0.65, arcsin.trans = TRUE, alpha = 0.05, alternative = "not equal", # 或"greater"? n = 47, power = NULL) pwrss.z.prop(p=0.5, p0 = 0.35, arcsin.trans = TRUE, alpha = 0.05, alternative = "not equal", # 或"less"? n = 47, power = NULL) # 两样本检验尝试 pwrss.z.2props(0.5, 0.65, arcsin.trans = TRUE, kappa = 1, alpha = 0.05, alternative = "not equal", # 或"greater"? n2 = 47, power = NULL) pwrss.z.2props(0.5, 0.35, arcsin.trans = TRUE, kappa = 1, alpha = 0.05, alternative = "not equal", # 或"less"? n2 = 47, power = NULL)
更新后的尝试与困惑
研究为配对设计(重复测量同一数据的增减变化),因此应选用单样本检验。同时了解到不建议进行两次单侧检验,尝试用双侧检验输入±30%的数值:
pwrss.z.prop(p=0.65, p0 = 0.35, arcsin.trans = TRUE, alpha = 0.05, alternative = "not equal", n = 47, power = NULL)
输出结果:
Approach: Arcsine Transformation
A Proportion against a Constant (z Test)
H0: p = p0
HA: p != p0Statistical power = 0.987
n = 47Alternative = “not equal”
Non-centrality parameter = 4.178
Type I error rate = 0.05
Type II error rate = 0.013
交换p和p0得到相同结果,但此设置的备择假设HA: p != p0是检测0.35与0.65之间的差异,并非需要的检测初始比例0.5变为0.65或0.35的功效,仍无法解决问题。
正确的语法设置
你的核心需求是单样本配对设计下,检测初始比例0.5变为0.65(+30%)或0.35(-30%)的统计功效,需要明确参数对应关系与alternative选择:
p0固定为初始比例(0.5),p为变化后的预期比例(0.65或0.35)alternative选择逻辑:- 若关注任意方向的变化(既看升高也看降低),选
"not equal"(双侧检验) - 若仅关注升高到0.65,选
"greater"(单侧检验) - 若仅关注降低到0.35,选
"less"(单侧检验)
- 若关注任意方向的变化(既看升高也看降低),选
1. 检测任意方向变化(双侧检验)
分别计算0.5→0.65和0.5→0.35的双侧检验功效:
# 检测0.5升高到0.65的双侧检验功效 pwrss.z.prop(p=0.65, p0=0.5, arcsin.trans=TRUE, alpha=0.05, alternative="not equal", n=47, power=NULL) # 检测0.5降低到0.35的双侧检验功效 pwrss.z.prop(p=0.35, p0=0.5, arcsin.trans=TRUE, alpha=0.05, alternative="not equal", n=47, power=NULL)
2. 仅检测升高(单侧检验)
pwrss.z.prop(p=0.65, p0=0.5, arcsin.trans=TRUE, alpha=0.05, alternative="greater", n=47, power=NULL)
3. 仅检测降低(单侧检验)
pwrss.z.prop(p=0.35, p0=0.5, arcsin.trans=TRUE, alpha=0.05, alternative="less", n=47, power=NULL)
以上设置的备择假设完全匹配你的需求:要么检测p≠0.5(双侧,覆盖正负变化),要么检测p>0.5(对应+30%)或p<0.5(对应-30%),能准确计算出初始比例发生指定变化时的统计功效。
内容的提问来源于stack exchange,提问作者Nate
相关产品推荐
相关产品推荐

