我创建了一个函数,该函数在三个不同的功耗场景中循环,并具有特定的CV%,但无法使其仅输出列表中的Ns(见下文):
pwr.vec = c(0.80,0.85,0.90)
sample.3.cross = function(x, pwr.vec){
for (i in pwr.vec){
result = list()
sample.size = sampleN.TOST(CV = x, design = "3x3", targetpower = i, theta0 = 1.11)[['Sample size']]
result[i] = list(sample.size)
}
return(data.frame(result))
}
我试过无数种方法来修改这个函数,但没有结果。当我运行这个函数时,我得到了下面的输出。
sample.3.cross(.23,pwr.vec)
data frame with 0 columns and 0 rows
我只需要一个简单的列表中的三个N。任何帮助将不胜感激。
1条答案
按热度按时间zdwk9cvp1#
两个问题:
1.您应该在for循环外创建列表
result
1.请注意,您的
i
是0.80、0.85、0.90,而不是1、2和3。这意味着result[i]
没有按您预期的方式工作。修复这两个问题将产生以下结果: