Я могу вычислить символическую производную в R для функции логита с этим утверждением:Как оценить символическую производную как функцию в R?
deriv(quote(exp(-9.3 + 0.0146*x)/(1 + exp(-9.3 + 0.0146*x))),"x")
В результате выражение:
expression({
.expr4 <- exp(-9.3 + 0.0146 * x)
.expr5 <- 1 + .expr4
.expr7 <- .expr4 * 0.0146
.value <- .expr4/.expr5
.grad <- array(0, c(length(.value), 1L), list(NULL, c("x")))
.grad[, "x"] <- .expr7/.expr5 - .expr4 * .expr7/.expr5^2
attr(.value, "gradient") <- .grad
.value
})
Однако, когда я пытаюсь вернуть выражение в такой функции:
DerivLogit <- function(x){
deriv(expression(exp(-9.3 + 0.0146*x)/(1 + exp(-9.3 + 0.0146*x))),"x")
}
Оценка DerivLogit (x), конечно же, не является замените параметр x для переменной x в моем выражении. Так, например, DerivLogit (1) равен DerivLogit (2), оба из которых просто возвращают выражение без замены параметров.
Есть ли способ преобразовать производное выражение в функцию, которую я могу оценить, где параметр (например, x) будет заменен так, чтобы я мог видеть числовой результат для данного значения x? И если да, то как мне это сделать в R?
Я полагал, что это было что-то простое, как это. Благодаря! – devinbost