如何在 R 中的图形上构建趋势线
How to build a trendline on a graph in R
我到处都检查过了,人们引用了我无法理解的例子(是的,我有点慢)。谁能解释一下如何在 R 中构建对数趋势线?
这是工作示例:
myds <- c(23.0415,13.1965,10.4110,12.2560,9.5910,10.7160,9.9665,8.5845,8.9855,8.8920,10.3425,9.3820,9.0860,9.6870,8.5635,9.0755,8.5960,7.9485,8.3235,8.1910)
plot(myds)
我找不到应用回归趋势线的简单方法。我对对数和线性趋势线特别感兴趣。是否可以不连接任何新包?
各位大神,请指教!
由于您没有提供可重现的示例,我将 post 一些我认为可能对您有所帮助的链接:
这里是一个简单的线性趋势线示例:
http://www.r-tutor.com/elementary-statistics/quantitative-data/scatter-plot
此外,在 SO 上有一个关于此的线程:
How do I add different trend lines in R?
使用 ggplot 会更容易一些,因为您可以使用 smooth functions.
由于您缺少一些数据点,所以我采用了您提供的:六个点。
编辑 - 现在完整示例可用
趋势线只是一种回归,而回归是 运行 最简单的方法,如下所示:
a<-lm(outcome~predictor)
——在这个例子中,对象 a 将保存你的回归参数。要获取新趋势线模型的值,只需使用 predict(model_name)
,或者在您的情况下使用 predict(a)
向绘图添加线条非常简单。只要说 lines(b)
,其中 b 指定在使用 plot()
函数后要绘制的线。
总结:
[![myds <- c(23.0415,13.1965,10.4110,12.2560,9.5910,10.7160,9.9665,8.5845,8.9855,8.8920,10.3425,9.3820,9.0860,9.6870,8.5635,9.0755,8.5960,7.9485,8.3235,8.1910)
x <- (1:length(myds))
plot(myds)
#make the main plot
plot(x,myds,ylim=c(5,30),xlim=c(0,20))
#add linear trend
lines(predict(lm(myds~x)),col='green')
#one more trend
lines(predict(lm(myds~log(x))),col='red')][1]][1]
我到处都检查过了,人们引用了我无法理解的例子(是的,我有点慢)。谁能解释一下如何在 R 中构建对数趋势线?
这是工作示例:
myds <- c(23.0415,13.1965,10.4110,12.2560,9.5910,10.7160,9.9665,8.5845,8.9855,8.8920,10.3425,9.3820,9.0860,9.6870,8.5635,9.0755,8.5960,7.9485,8.3235,8.1910)
plot(myds)
我找不到应用回归趋势线的简单方法。我对对数和线性趋势线特别感兴趣。是否可以不连接任何新包?
各位大神,请指教!
由于您没有提供可重现的示例,我将 post 一些我认为可能对您有所帮助的链接:
这里是一个简单的线性趋势线示例: http://www.r-tutor.com/elementary-statistics/quantitative-data/scatter-plot
此外,在 SO 上有一个关于此的线程: How do I add different trend lines in R?
使用 ggplot 会更容易一些,因为您可以使用 smooth functions.
由于您缺少一些数据点,所以我采用了您提供的:六个点。
编辑 - 现在完整示例可用
趋势线只是一种回归,而回归是 运行 最简单的方法,如下所示:
a<-lm(outcome~predictor)
——在这个例子中,对象 a 将保存你的回归参数。要获取新趋势线模型的值,只需使用predict(model_name)
,或者在您的情况下使用predict(a)
向绘图添加线条非常简单。只要说
lines(b)
,其中 b 指定在使用plot()
函数后要绘制的线。
总结:
[![myds <- c(23.0415,13.1965,10.4110,12.2560,9.5910,10.7160,9.9665,8.5845,8.9855,8.8920,10.3425,9.3820,9.0860,9.6870,8.5635,9.0755,8.5960,7.9485,8.3235,8.1910)
x <- (1:length(myds))
plot(myds)
#make the main plot
plot(x,myds,ylim=c(5,30),xlim=c(0,20))
#add linear trend
lines(predict(lm(myds~x)),col='green')
#one more trend
lines(predict(lm(myds~log(x))),col='red')][1]][1]