如何平滑曲线

bog*_*ogu 4 r

我有这样的数据.有什么方法可以平滑我的情节吗?

cr <- colorRampPalette(col=c("red", "red", "red", "red"), bias=1)
linecols <- cr(3)
x<-c(-1000.000000,-900.000000,-800.000000,-700.000000,-600.000000,-500.000000,-400.000000,-300.000000,-200.000000,-100.000000,0.000000,100.000000,200.000000,300.000000,400.000000,500.000000,600.000000,700.000000,800.000000,900.000000,1000.000000)
y<-c(0.809524,1.000000,1.333333,1.333333,3.285714,7.761905,13.619048,7.571429,14.809524,3.904762,1.857143,2.285714,4.857143,8.571429,2.000000,1.523810,2.714286,0.857143,1.285714,0.857143,1.380952)
plot(x, y,type="l",main="Average",ylab="Average Profile",col=linecols[1],ylim=c(0.809524,14.809524),xaxt="s",yaxt="s",lwd=2)
Run Code Online (Sandbox Code Playgroud)

mds*_*ner 10

lines(x, smooth(y))
Run Code Online (Sandbox Code Playgroud)

?smooth.

lines(supsmu(x, y))
Run Code Online (Sandbox Code Playgroud)

见'?supsmu'.

当心,平滑是魔鬼的事.

  • Excel使用什么算法?你可能会为此做些什么.如果您认为这是一个问题,您应该提供一个示例. (2认同)

Ben*_*nes 6

我将第二次@mdsumner关于平滑的警告(互联网搜索"平滑数据坏"返回大量页面),但我会提供另一种解决方案:

plot(lowess(x,y,f=1/3),type="l",col="red")
Run Code Online (Sandbox Code Playgroud)

有关?lowess更多信息,请参阅

在此输入图像描述