2016-10-13 14 views
0

プロットするときに、なぜ私が異なる行を得るのか誰かが説明できますか?どういうわけか私はラインは私がモデルから値を取得できますか同じローカル多項式回帰を理解する

data(aircraft) 
    help(aircraft) 
    attach(aircraft) 

    lgWeight <- log(Weight) 


    library(KernSmooth) 

    # a) Fit a nonparametric regression to data (xi,yi) and save the estimated values mˆ (xi). 

    # Regression of degree 2 polynomial of lgWeight against Yr 
    op <- par(mfrow=c(2,1)) 
    lpr1 <- locpoly(Yr,lgWeight, bandwidth=7, degree = 2, gridsize = length(Yr)) 
    plot(Yr,lgWeight,col="grey", ylab="Log(Weight)", xlab = "Year") 
    lines(lpr1,lwd=2, col="blue") 
    lines(lpr1$y, col="black") 

enter image description here

あるべきと思いましたか?モデルを印刷すると、$x$yの値が得られますが、プロットすると青い線と同じではありません。 xごとにフィットモデル(青色)の値が必要ですが、助けてくれますか?

答えて

1

適合モデル(ブルーカーブ)はlpr1に正しくあります。あなたが言ったように、正しいy値はlpr1$yで、正しいx値はlpr1$xです。

2番目のプロットが直線のように見える理由は、plotの関数に1つの変数、lpr1$yしか与えられていないためです。 x座標を指定しないので、Rは1からy変数の長さまでのインデックスに沿って自動的にプロットします。

lines(x = lpr1$x, y = lpr1$y,lwd=2, col="blue") # plots curve 
lines(x = 1:length(lpr1$y), y = lpr1$y, col="black") # plot line 

次曲線やラインを描画するための2つの明示と同等の方法です

関連する問題