Я хочу интегрировать функцию, определенную с помощью оператора if.Проблема в том, что R-функция «интегрировать» оценивает мою функцию по нескольким значениям x, как если бы она была векторной, поэтому я получаю предупреждение о том, что условие было оценено только для первого элемента вектора.Следовательно, мое условие не принимается во внимание, и следующая программа возвращает ошибку деления на ноль. Есть ли способ обойти это.
f1 <- function(x) dnorm(x,0,1)
myInt <- function(f,lower,upper){
f <- match.fun(f)
integrand <- function(x) if (f(x)==0) 0 else 1/f(x)
integrate(integrand,lower,upper)
}
a=myInt(f1,-Inf,Inf)