R:绘制样本大小与功效的关系图

R: Plotting sample size against power

您好,我正在尝试在 R 中绘制样本大小与功效的关系图。 我认为它需要一个 for 循环,但不知道如何正确实现它。任何帮助将不胜感激,谢谢。

 for (i in c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1)){
   graph<-power.prop.test(p1=0.4,p2=0.24,power=c(0.1:1),sig.level=0.05)}

    plot(graph$n,graph$power,type="b",xlab="sample size",ylab="power")

R 中的 power.t.testpower.prop.test 函数不能很好地处理矢量化参数,因此您需要按照您的建议将调用包装在类似循环的结构中。

下面我使用sapply函数进行迭代并提取样本量,然后用于绘图。

powrange <- seq(0.4, .9, .1)
n <- sapply(powrange, function(i) power.prop.test(p1=0.4,p2=0.24,power=i,sig.level=0.05)$n)
plot(n, powrange, type="b",xlab="sample size",ylab="power")

如果您不提取 n,那么您最终会得到一个输出结果列表,您需要迭代输出以从中获得 n