0
我能計算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