如何在 r 中执行弱平滑(逐步)


在统计学中,术语Lowess指的是“局部加权点云的平滑”——生成与点云中的数据点相对应的平滑曲线的过程。

要在 R 中执行 Lowess 平滑,我们可以使用lowess()函数,该函数使用以下语法:

较低(x、y、f = 2/3)

金子:

  • x: x 值的数值向量。
  • y: y 值的数值向量。
  • f:最平滑程度的值。这给出了图中影响每个值的平滑的点的比例。值越高,平滑度越高。

以下分步示例展示了如何在 R 中对给定数据集执行弱平滑。

第 1 步:创建数据

首先,让我们创建一个假数据集:

 df <- data. frame (x=c(1, 1, 2, 2, 3, 4, 6, 6, 7, 8, 10, 11, 11, 12, 13, 14),
y=c(4, 7, 9, 10, 14, 15, 19, 16, 17, 21, 22, 34, 44, 40, 43, 45))

第 2 步:绘制数据图

接下来,我们绘制数据集的 x 和 y 值:

 plot(df$x, df$y) 

第三步:绘制最小曲线

接下来,我们在散点图中的点上绘制最弱的平滑曲线:

 #create scatterplot
plot(df$x, df$y)

#add lowess smoothing curve to plot
lines(lowess(df$x, df$y), col=' red ')

R 中的 Lowess 平滑示例

第 4 步:调整较软的范围(可选)

我们还可以调整 lowess() 函数中的f参数来增加或减少用于平滑程度的值。

请注意,我们提供的值越大,下部曲线就越平滑。

 #create scatterplot
plot(df$x, df$y)

#add lowess smoothing curves
lines(lowess(df$x, df$y), col=' red ')
lines(lowess(df$x, df$y, f=0.3), col=' purple ')
lines(lowess(df$x, df$y, f=3), col=' steelblue ')

#add legend to plot
legend(' topleft ',
       col = c(' red ', ' purple ', ' steelblue '),
       lwd = 2,
       c(' Smoother = 1 ', ' Smoother = 0.3 ', ' Smoother = 3 ')) 

R 中的弱平滑曲线

其他资源

如何在R中绘制多条线
如何在 R 中创建带有回归线的散点图
如何在 R 中执行多项式回归

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注