我試圖用方程y=ae^(bx)
我擬合了一個線性模型log(y) ~ x,并得到了系數的估計值:截距和斜率,以及r^2值:
a = round(exp(model$coefficients[1])。 2)
b = round(model$) operator">$coefficients[2]。 2)
r = round(summary(模型)$r. squared, 2)。
我想把擬合模型的方程作為一個指數添加到ggplot圖中,所以讓我們假設我的系數是:
我想把擬合模型的方程作為一個指數添加到ggplot圖中。
a= - 2
b=0.5
r=0.76
我使用了來自:如何在ggplot圖形上添加指數回歸方程和R2的例子,其中使用了以下代碼:
eq < - paste0('paste(y, " = " 。italic(e^{', round(exp. mod$系數[2] 。 2),
"*x ~~ ~", round(exp. mod$系數[1] 。 2),
'}), ~~~~~~~~R^2~ "="~', round(summary(exp. mod)$r. squared, 2), " )")
但是這給出了一個有點不同的公式(y=e^(ax b)),我試著重新排列它,但是沒有一個嘗試是成功的
我也試過類似的東西,如圖所示。注釋指數函式 ggplot2,但他們的方程使用常數,而我有變數,所以我想不出如何用變數替換數字最后,為了將方程添加到繪圖中,我試著使用了以下一行:
ggplot()
注釋("text"/span>。 aes(x=3, y=11)。 標簽 = "y == a*e^{b*x}"。 決議=TRUE)
uj5u.com熱心網友回復:
你的最后一行代碼有問題。1)annotate()不支持將資料中的變數映射到美學上,一個人只是將常量值作為引數;2)整個上標,包括減號必須放在大括號內。(方程看起來更漂亮一些,將指數前面的*替換為~,以增加一點空間,但這是可選的。)
library(ggplot2)
ggplot() 。
注釋("text", x= 3, y=11, label = "y == 13. 048*e^{-0.697*x}",決議 =TRUE)

運算式有一個棘手的語法。我在這里使用了你的假設值。為了清楚起見,我把r改為r.squared。
a= - 2
b=0.5
r.squared =0.76
eq <- paste0('y~`=`~', a,
'~e^{', b,
'*x}*"; "*R^2~`=`~', r.squared)
ggplot()
注釋("text", x= 3, y=11, label = eq。 決議=TRUE)

創建于2021-09-21,由reprex包(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/322179.html
標籤:
上一篇:根據用戶輸入的數值顯示列數
