在Excel中,很容易拟合给定趋势线的对数趋势线。只需单击添加趋势线,然后选择“对数”。但是,如果想要更强大的功能,则需要切换到R,但不确定应该使用哪个函数来生成它。
为了生成图形,我使用了
上述数据是y轴上的点,而x轴上的点仅是从1:length(y)以1为增量的整数。在Excel中:我可以简单地绘制这个图形并添加一个对数趋势线,结果如下所示:
黑色表示对数。在R中,如何使用上述数据集完成此操作?
为了生成图形,我使用了
ggplot2
和以下代码。ggplot(data, aes(horizon, success)) + geom_line() + geom_area(alpha=0.3)+
stat_smooth(method='loess')
但是该代码执行的是基于多个小线性回归的平均化的局部多项式回归拟合。我的问题是是否在R中有类似Excel中使用的对数趋势线。
我正在寻找的另一种选择是得到形如y = (c*ln(x))+b的对数方程;是否有coef()函数来获取'c'和'b'?
假设我的数据如下:
c(0.599885189,0.588404133,0.577784156,0.567164179,0.556257176,
0.545350172,0.535112897,0.52449292,0.51540375,0.507271336,0.499904325,
0.498851894,0.498851894,0.497321087,0.4964600,0.495885955,0.494068121,
0.492154612,0.490145427,0.486892461,0.482395714,0.477229238,0.471010333)
上述数据是y轴上的点,而x轴上的点仅是从1:length(y)以1为增量的整数。在Excel中:我可以简单地绘制这个图形并添加一个对数趋势线,结果如下所示:
![enter image description here](https://istack.dev59.com/A4x6x.webp)
log()
函数对数据取对数,并使用loess()
函数拟合平滑器。使用plot()
绘制数据图,并使用lines()
添加(平滑)线条。 - guest