Моя оригинальная функция включает в себя несколько функций optimize (), для которых я получаю разные результаты, когда применяю функцию в первый раз во второй раз.
Я пытался это , но я сделалубедитесь, что возвращаемое значение является одномерным.
fn = function(A,P){
l_fn = function(x) {
L <- x[1]
-((A*L*P)-(P*L^2)) # -1 because optimize-function finds minimum
}
l_opt <- as.numeric(optimize(l_fn,c(0,1000))[2]) # get objective output
return(l_opt)
}
f <- data.frame(x=c(10:20))
for (i in 1:length(f)) { # run this part 2 times!
f$test <- sin(f$x) # this is how I expect a function to behave
f$out[i] <- fn(f$x[i],100)
}
при первом запуске кода выдает f $ out, которые все равны (странно).повторный запуск цикла for приводит к изменению f $ out, хотя входные параметры остаются прежними!Как это возможно?