0
我想運行每個delta值的power.t.test來計算必要的採樣數,然後將其保存到reps向量中的值以替換一個NA。我試圖做一個for循環,但它只會改變reps被保存的地方,並且每次都使用相同的delta值。有沒有辦法讓for循環調用不同的delta值,即使它在另一個函數內部?如何在power.t.test中設置delta範圍
delta = c(.25,.5,.75,1,1.25,1.5,1.75,2)
reps = c(NA,NA,NA,NA,NA,NA,NA,NA)
reps[1] <- power.t.test(n = NULL,
delta = delta[1],
sd = pop_sd,
sig.level = 0.01,
power = 0.90,
type = 'paired',
alternative = 'two.sided'
)$n
ans <- data.frame(delta/pop_sd,reps)
ans
編輯:這是我的for循環,這讓我想得最接近。
for (x in delta){
reps[1:8] <- power.t.test(n = NULL, # make sure to fill in ALL of the ?
delta = delta[x],
sd = pop_sd,
sig.level = 0.01,
power = 0.90,
type = 'paired',
alternative = 'two.sided'
)$n
}
編輯2:我想出了我原來的錯誤。我需要使用for (i in 1:8)
撥打delta
和reps
的索引號碼。
for (i in 1:8){
reps[i] <- power.t.test(n = NULL, # make sure to fill in ALL of the ?
delta = delta[i],
sd = pop_sd,
sig.level = 0.01,
power = 0.90,
type = 'paired',
alternative = 'two.sided'
)$n
}
讓我們看看你的for循環。聽起來像是一個可能很容易解釋和修復的錯字。 – Gregor
我爲上面的代碼添加了我的代碼。不知道如何將其添加到評論。 – James
在上面添加它比在評論中添加它好得多。 – Gregor