从ggplot中的另一个数据集中添加线性模型

时间:2018-07-24 16:12:22

标签: r ggplot2 graph

我有一个数据集,其中包含有关来自多个采样站的土壤海拔高度的时间序列信息。我使用ggplot对每个站的土壤高度随时间的变化进行了建模。现在,我想在图形中添加一条线,以描述随时间推移来自不同数据集的其他地质数据的线性模型,但我一直无法这样做。我知道我可以手动将斜率和截距添加到函数中,但我不愿意。  我的数据如下。

str(SETdata)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   1620 obs. of  6 variables:
$ Observation      : num  1 2 3 4 5 6 7 8 9 10 ...
$ Plot_Name        : Factor w/ 3 levels "1900-01-01","1900-01-02",..: 1 1 1 
1 1 1 1 1 1 1 ...
$ PipeDirectionCode: chr  "001°" "001°" "001°" "001°" ...
$ Pin              : num  1 2 3 4 5 6 7 8 9 1 ...
$ EventDate        : num  0 0 0 0 0 0 0 0 0 0 ...
$ PinHeight_mm     : num  221 207 192 220 212 212 206 209 203 222 ...

str(FeldsparData)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   540 obs. of  4 variables:
$ Benchmark  : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 2 ...
$ Plot       : Factor w/ 12 levels "1a","1b","1c",..: 1 1 1 2 2 2 3 3 3 5 
...
$ TotalChange: num  0 0 0 0 0 0 0 0 0 0 ...
$ Day        : num  0 0 0 0 0 0 0 0 0 0 ...

我的图表是

SETdata %>%
  ggplot()+
  aes(x = EventDate, y = PinHeight_mm, color = Plot_Name, group = Plot_Name)+
  stat_summary(fun.y = mean, geom = "point")+
  stat_summary(fun.y = mean, geom = "line")

我希望它包括这一行

reg <- lm(TotalChange ~ Day, data = FeldsparData)

我的尝试似乎受挫,因为R不喜欢我使用两个不同的数据集。

0 个答案:

没有答案