【发布时间】:2017-02-18 04:53:01
【问题描述】:
我想使用facet wrap 在数据点上叠加一个线性趋势回归模型:
我正在寻找的线性回归是
value ~ time 其中时间是seq(1:length(dates))
在下面的示例中,A 组有 3 个观察值,B 组有 4 个观察值
我的代码是
dates = as.Date(c("2017-01-01", "2017-02-01", "2017-03-01", "2017-01-01", "2017-02-01",
"2017-03-01", "2017-04-01"))
group = c("A", "A", "A", "B", "B", "B", "B")
value = c(2, 3, 1, 1, 3, 2, 5)
data = data.frame(dates = dates, group = group, value = value)
ggplot(data = data, aes(x = factor(dates), y = value, group = 1)) +
geom_point() +
geom_line() +
geom_smooth(method = "lm", formula = value ~ seq(1:length(dates))) +
facet_wrap(~group, ncol = 1, scales = "free_y")
我还想在图表上打印回归的斜率系数
有什么想法吗?
【问题讨论】:
-
formula是在美学方面指定的,即x和y。不过,在这种情况下,您可以摆脱它并使用geom_smooth(method = 'lm')。打印坡度需要更多的工作,因为它不是通过stat_smooth提供的数量。首先进行建模、组装数据然后绘图可能更容易。
标签: r regression linear-regression