如何在R中的图形上构建趋势线

时间:2016-03-01 16:47:41

标签: r data-visualization trend

我到处检查过,人们参考我无法理解的例子(是的,我有点慢)。有人可以解释一下如何在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)

我无法找到应用回归趋势线的简单方法。我特别感兴趣的是对数和线性趋势线。是否可以不连接任何新包装?

好先生,请善意澄清!

2 个答案:

答案 0 :(得分:2)

由于您没有提供可重复的示例,我会发布一些链接,我认为这些链接可能对您有所帮助:

简单的线性趋势线的示例如下: http://www.r-tutor.com/elementary-statistics/quantitative-data/scatter-plot

此外,在SO上有一个主题: How do I add different trend lines in R?

使用ggplot会让它更容易一些,因为你可以使用smooth functions

答案 1 :(得分:2)

因为你丢失了一些数据点,所以我拿了你提供的数据:六点。

修改 - 现在可以使用完整的示例

  1. 趋势线只是一种回归,回归运行最简单的方式如下: a<-lm(outcome~predictor) - 在此示例中,对象a将保存回归参数。要获取新趋势线模型的值,只需使用predict(model_name),或者使用predict(a)

  2. 在情节中添加线条很简单。只需说出lines(b),其中b指定您在使用plot()函数后要绘制的线条。

  3. 包装起来:

    [![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] 
    

    resulting plot image