如何绘制多项式回归曲线?
How to plot my polynomial regression curve?
我是 R 的新手,我正在使用多项式线性回归。我有一个系数或权重向量,我们可以说(为简单起见)
w <- c(1:9)
我需要将每个系数分别乘以 x^j,其中 j 从 0 到 8,然后将它们相加以获得稍后绘制的函数,例如:(1*x^0 + 2*x^1 + 3* x^2...)。我知道我可以手动输入这些,但如果线性组合很大,它会变得乏味,我也知道我可以使用 loes 进行回归,但对于这个练习,我需要自己做。那么有没有一种非手动的方法可以将这些系数和函数粘贴在一起,以便以后与 curve() 一起使用?我在想:
curve(1*x^0 + 2*x^1 + 3*x^2...)
变成
curve(function(x))
function(x) 中包含所需函数的位置?
提前致谢。
这应该有效
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))
通过使用 sapply,我们允许函数采用任意长度的向量。这允许将函数传递给 curve
.
我是 R 的新手,我正在使用多项式线性回归。我有一个系数或权重向量,我们可以说(为简单起见)
w <- c(1:9)
我需要将每个系数分别乘以 x^j,其中 j 从 0 到 8,然后将它们相加以获得稍后绘制的函数,例如:(1*x^0 + 2*x^1 + 3* x^2...)。我知道我可以手动输入这些,但如果线性组合很大,它会变得乏味,我也知道我可以使用 loes 进行回归,但对于这个练习,我需要自己做。那么有没有一种非手动的方法可以将这些系数和函数粘贴在一起,以便以后与 curve() 一起使用?我在想:
curve(1*x^0 + 2*x^1 + 3*x^2...)
变成
curve(function(x))
function(x) 中包含所需函数的位置?
提前致谢。
这应该有效
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))
通过使用 sapply,我们允许函数采用任意长度的向量。这允许将函数传递给 curve
.