另一种方法是改变时间变量的单位,以便回归结果与绘图给出的视觉直觉相匹配.方法是将时间变量转换为"自第一个数据点起的月份":
df$months_since_start <- 12 * (df$a - df$a[1])
df
#> a b months_since_start
#> 1 Jan 2022 2 0
#> 2 Feb 2022 0 1
#> 3 Mar 2022 2 2
#> 4 Apr 2022 1 3
#> 5 May 2022 1 4
现在,您的lm
个结果与绘图更加一致(每月的截距为1.4,斜率为-0.1)
lm(b ~ months_since_start, df)
#>
#> Call:
#> lm(formula = b ~ months_since_start, data = df)
#>
#> Coefficients:
#> (Intercept) months_since_start
#> 1.4 -0.1
我认为这可能是一种更自然的方式来呈现结果,因为尽管它在数字上是等效的,说"该值从年初的1.4开始,平均每月下降0.1"可能比"该值从公元前1年的2043开始,此后每年下降1.2"更准确
由reprex package(v2.0.1)于2022年6月21日创建