簡體   English   中英

添加擬合二次曲線

[英]Add fitted quadratic curve

我正在嘗試將擬合的二次曲線添加到繪圖中。

abline(lm(data~factor+I(factor^2)))

顯示的回歸是線性的而不是二次的,我得到這樣的信息:

Message d'avis:在abline(lm(data~factor + I(factor ^ 2)),col = palette [iteration]):利用des deux premiers des 3 systemsderégression

意思是:

使用3個回歸系數中的前2個

當只運行lm()函數時,我沒有得到任何消息。

這是一個示例數據:

factor <- 1:7
data <- c(0.1375000,0.2500000,0.3416667,0.4583333,0.7250000,0.9166667,1.0000000)

而不是使用abline ,使用fitted ,它給你一個向量長度相同的預測的輸入:

fitted(lm(data~factor+I(factor^2)))
#         1         2         3         4         5         6         7 
# 0.1248016 0.2395833 0.3699405 0.5158730 0.6773810 0.8544643 1.0471230 

因此,像:

plot(factor, fitted(lm(data~factor+I(factor^2))), type="l")

到目前為止,我無法得到答案,因為我使用的數據集的x值沒有增加(如David Robinson所述)。 這是我解決它的方式......

require(ISLR)
plot(mpg~horsepower, data=Auto)

# fit the model
glm.fit = glm(mpg~poly(horsepower,2), data=Auto)

# create 100 x-values based on min/max of plotted values
minMax = range(Auto$horsepower)
xVals = seq(minMax[1], minMax[2], len = 100) 

# Use predict based on a dataframe containing 'horsepower'
yVals = predict(glm.fit, newdata = data.frame(horsepower = xVals))

lines(xVals, yVals)

感謝所有這些有價值的答案。 小心點:

使用

使用基於包含'horsepower'的數據幀的預測

yVals = predict(glm.fit, newdata = data.frame(horsepower=xVals)

使用基於包含'horsepower'的數據幀的預測

yVals = predict(lm.fit, newdata = data.frame(horsepower=xVals)

lm.fit是一個功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM