Так что я сейчас пишу некоторый код R для класса.TryCatch, который возвращает значение моему вектору
library(pwr)
delta <- c(2.5, 5, 7.5,10)
v <- c(4,6,9,13)
size <- vector()
for (i in (v)){
for (j in (delta)){
tryCatch({
fRough <- sqrt(((1/i)*(j)^2)/(2*ucb2))
samplesize <- pwr.anova.test(k =i, f = fRough, sig.level = 0.05, power = 0.9)
size <- c(size, (trunc((samplesize[["n"]]),0)+1)*i)
}, error = function(e)(size <- c(size, i*2)))
}
}
ucb2 - всего лишь некоторое значение поплавка. Я хочу запустить этот цикл, но он дает ошибку, когда delta 7.5 и 10. Я хочу, чтобы мой код выдавал значение (i * 2), когда он ударил ошибку. Я попытался использовать функцию ошибки, но она, похоже, не работала. Кроме того, кто-то может предложить материал, где я мог бы узнать о функции (e), функции (cond) и т. Д. Я не могу найти ответ на SO.
Заранее благодарим за помощь.
Try [эта глава] (http://adv-r.had.co.nz/Exceptions-Debugging.html) из Хедли Advanced R, чтобы начать работу с обработкой исключений. – twalbaum