提问人:Nate 提问时间:11/18/2023 最后编辑:Nate 更新时间:11/19/2023 访问量:41
R 中 pwrss 包的语法解释(比例数据的功效分析)
Syntax interpretation for pwrss package in R (power analysis on proportions data)
问:
我很难将我的研究问题翻译成正确的语法,因为 pwrss 包的文档似乎含糊不清。我的目标是计算检测假设的未来 30% 增加和减少比例的功效(例如,称为 0.5,+/-30% 分别为 = 0.65 和 0.35),但我不确定我应该使用哪个测试或如何输入信息。例如:
一个比例与一个常数。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)
两个比例之间的差异。这里,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 来说并不重要。除此之外,我不知道哪个比例去哪里,或者什么替代方案对我的情况有意义。“大于”和“不相等”或“更少”和“不相等”似乎是相同的选项:即我有什么权力注意到 +30% “大于”或“不等于”我的原始比例 (0.5)(?
library(pwrss)
# Should I be doing
pwrss.z.prop(p=0.5, p0 = 0.65,
arcsin.trans = TRUE, alpha = 0.05,
alternative = "not equal", # or "greater"?
n = 47, power = NULL)
pwrss.z.prop(p=0.5, p0 = 0.35,
arcsin.trans = TRUE,
alpha = 0.05,
alternative = "not equal", # or "less"?
n = 47, power = NULL)
# or...
pwrss.z.2props(0.5, 0.65, arcsin.trans = TRUE,
kappa = 1, alpha = 0.05, alternative = "not equal", # or "greater"?
n2 = 47, power = NULL)
pwrss.z.2props(0.5, 0.35, arcsin.trans = TRUE,
kappa = 1, alpha = 0.05, alternative = "not equal", # or "less"?
n2 = 47, power = NULL)
更新:
我认为是单样本检验和双样本检验,假设 p1 和 p2 来自独立观测值。由于我的是配对的(增加/减少相同数据,即重复测量设计),我将选择单样本版本。我还读到,不建议进行两次单侧测试,因此剩下的就是在双侧测试中输入 +/-30% 的值。pwrss.z.prop
pwrss.z.2props
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 != p0
------------------------------
Statistical power = 0.987
n = 47
------------------------------
Alternative = “not equal”
Non-centrality parameter = 4.178
Type I error rate = 0.05
Type II error rate = 0.013
# Switching p/p0 gives the same answer.
# Here's the problem:
# H0: p = p0
# HA: p != p0
问题是,这似乎是在说“我们想知道检测 -30% 和 +30% 变化之间差异的能力”,这不是我想要的。该测试的功效几乎为 99%,只有 n=47。这似乎是它正在测试的,因为差异的大小如此之大(0.35 到 0.65),因此检测到它的功率自然会很高。因此,我仍然被困住了。HA: p != p0
答:
对于任何对可能的解决方案感兴趣的人:通过使用不同的软件包,我发现一个比例增加 30%(或减少)不仅仅是乘以 0.3 并添加到原始比例上的问题。相反,包使用的 arcsin 转换是必需的。) 中的函数可以计算这个效应大小,或者对于已知的效应大小(在我的情况下),可以通过用 或 简单地求解 p1 来计算结果的百分比变化值。pwr
ES.h() = 2*asin(sqrt(p1))-2*asin(sqrt(p2))
pwr.p.test(
p1 = sin(asin(sqrt(p2))+h/2)^2
p1 = p2 + h/2
请注意,这与取决于起始均值有何不同:p1 = p2*0.3 + p2
# effect size formula (h=0.3 effect size)
> 0.5 + h/2
[1] 0.65
> 0.6 + h/2
[1] 0.75
# Standard way of scaling a continuous variable (30% increase):
> (0.5*0.3) + 0.5
[1] 0.65 # same as the effect size method
> (0.6*0.3) + 0.6
[1] 0.78 # Slightly different now!
使用该软件包,我看到积极和消极的影响大小都会产生相同的功率!零是我们无法判断是否发生了 30% 的变化 (H0: p1 = p2),而另一种选择是我们可以,它“大于”我们的平均值 (HA: p1 > p2),或更少 - 在功率方面没有区别。pwr
> pwr.p.test(h = 0.3, # <- 30% increase effect size
+ n = 47,
+ sig.level = 0.05,
+ power = NULL,
+ alternative = "greater")
proportion power calculation for binomial distribution (arcsine transformation)
h = 0.3
n = 47
sig.level = 0.05
power = 0.6597727
alternative = greater
> pwr.p.test(h = -0.3, # <- 30% decrease effect size
+ n = 47,
+ sig.level = 0.05,
+ power = NULL,
+ alternative = "less")
proportion power calculation for binomial distribution (arcsine transformation)
h = -0.3
n = 47
sig.level = 0.05
power = 0.6597727
alternative = less
下一个:提取产品链接的正确选择器是什么?
评论