【发布时间】:2012-10-04 14:18:48
【问题描述】:
在 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”?
Edit2:由于我的声望更高,我现在可以发布更多关于我正在努力做的事情。让我的数据是:
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 中:我可以简单地绘制它并添加对数趋势线,结果如下所示:
黑色是原木。在 R 中,如何处理上述数据集?
【问题讨论】:
-
您可以使用
log()函数获取数据日志,并使用loess()函数拟合平滑器。使用plot()绘制数据图,并使用lines()添加(平滑)线。 -
是否有可能只得到方程式? excel中的等式是y=(c*ln(x))+b
标签: r regression