我想繪製一個數據幀(X,Y)data
以及擬合函數和以及擬合函數的導數。繪製函數和派生函數
fit <- lm(data$Y ~ poly(data$X,32,raw=TRUE))
data$fitted_values <- predict(fit, data.frame(x=data$X))
據我的理解,這給了我第32度,fit
的多項式函數,我用它來計算函數值,並將其存儲在data$fitted
。繪製這些系列作品的魅力與ggplot2
一樣。
ggplot(data, aes(x=X)) +
geom_line(aes(y = Y), colour="red") +
geom_line(aes(y = predict), colour="blue")
到目前爲止好。但我想繪製的也是擬合函數fit
的第一個導數data$Y'
。我感興趣的是擬合函數的梯度。
我的問題:我怎樣才能得到fit
的微分函數? 我假設我可以「預測」事後繪圖的絕對值。正確?
您能否提供一個可重複的例子,例如通過執行'dput(data)'並在結果中進行編輯?這將使演示解決方案變得更加容易。 (順便說一句,你可能想把'Y'顯示爲'geom_point'而不是'geom_line'!) –
你可以用[這個答案](http://math.stackexchange.com/a)逐點估計導數/ 304664)。或者,由於您知道擬合的形式(32階多項式,係數爲'coef(fit)'),所以您可以編寫一個簡單的函數來手動獲取對多項式非常簡單的導數。 –