Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我们如何找到一个平滑的函数来处理数据?_R_Smoothing - Fatal编程技术网

R 我们如何找到一个平滑的函数来处理数据?

R 我们如何找到一个平滑的函数来处理数据?,r,smoothing,R,Smoothing,假设我有这个小数据T 69 59 100 70 35 1 matplot(t(T[1,]), type="l",xaxt="n") 我想找到一个适合数据的多项式。(即使过于合适也可以) 有什么方法可以在R中完成吗?首先是数据 y <- scan(text = '69 59 100 70 35 1') x <- seq_along(y) 最后,绘制原始数据和拟合值的曲线图 newy <- predict(fit, data.frame(x)) plot(y, typ

假设我有这个小数据T

 69 59 100 70 35 1

 matplot(t(T[1,]), type="l",xaxt="n")

我想找到一个适合数据的多项式。(即使过于合适也可以) 有什么方法可以在R中完成吗?

首先是数据

y <- scan(text = '69 59 100 70 35 1')
x <- seq_along(y)
最后,绘制原始数据和拟合值的曲线图

newy <- predict(fit, data.frame(x))

plot(y, type = "b")
lines(x, newy, col = "red")

newy请参见
帮助(“黄土”)
,以及其他内容。例如,
sos::findFn('bezier')
。或者更简单的,
lm(y~poly(x,2))
。谢谢你,现在我必须用它来得到一个更好的图?@user9272398我不觉得它是一个坏图,它是一个统计拟合,而不是一个。对于lm(y~poly(x,5)),它非常好,我还有一个问题:如果我想写下这个多项式,系数是x,x2,x3,x4,x5?没有x1x2或类似的东西?因为对于lm(y~poly(x,5))我只有5个系数。再次感谢你帮了我很多其他的话什么是5?多项式的阶数?@user9272398是的,5是多项式的阶数。不,没有
x1x2
,因为它们是非常相同的
x
的幂。请注意,示例中有6个数据点,因此次多项式
6-1==5
是一个完美的拟合,并且没有剩余的自由度。这不是一个好的选择,只需查看
摘要(lm(y~poly(x,5))
newy <- predict(fit, data.frame(x))

plot(y, type = "b")
lines(x, newy, col = "red")