2016-10-10 14 views
-1

私はRが新しく、多項式の線形回帰を扱っています。私は、係数または重みのベクトルを持っていると我々は、私は後で関数にを得るために、jは0から8まで行くのx^jでそれぞれの係数を乗算し、それらを合計する必要が私の多項式回帰曲線をプロットするには?

w <- c(1:9) 

(簡略化のために)言うことができますプロット(例:(1 * x^0 + 2 * x^1 + 3 * x^2 ...)。私は手動で入力することができますが、線形結合が大きい場合は面倒になる、私も回帰を行うためにloesを使用することができますが、この練習のために自分でそれを行う必要があることを知っている。ですから、後でcurve()で使用するために、これらの係数と関数を一緒に貼り付ける非手動の方法がありますか?私が考えていた:

curve(1*x^0 + 2*x^1 + 3*x^2...) 

は、関数(x)は関数が欲しかっ含ま

curve(function(x)) 

なり?

ありがとうございます。

答えて

2

これはsapply使用することにより

w <- c(1:9) 

f <- function(x, coef){ 
    n <- length(coef) 
    deg <- 0:(n-1) 
    sapply(x, function(x)sum(coef * x^deg)) 
} 

curve(f(x, coef = w)) 

を動作するはずです、私たちは、関数は、任意の長さのベクトルを取ることができます。これにより、関数をcurveに渡すことができます。

関連する問題