我如何从ggplot获得一条直线,我做错了什么?

时间:2018-06-29 16:40:01

标签: r ggplot2

我对R很陌生,我正在一个自愿项目中,根据对几种分类类型的相似观察来预测一些参数。例如,对于不同的人使用相同的参数,但是对于每个人来说当然使用不同的值。

我从ggplot获得了此输出:

enter image description here

我的问题是:

  1. 我如何获得它绘制一条直线?

  2. 从该图中可以看出我做错了什么吗?如果是,那与lm函数有关吗?

1 个答案:

答案 0 :(得分:0)

由于OP没有提供MRE(如何在R中制作MRE,请参见here),因此我使用的是flights软件包中的nycflights13数据集。

library(ggplot2)
library(dplyr)
library(lubridate)
library(nycflights13) # https://github.com/hadley/nycflights13

dataset <- 
  flights %>% 
  # create departure date
  mutate(departure = make_date(year, month, day)) %>% 
  # calculate average departure delay
  group_by(departure) %>% 
  summarize(dep_delay_mean = mean(dep_delay, na.rm = TRUE)) %>% 
  # remove outlier
  filter(dep_delay_mean < 60)

head(dataset)

# A tibble: 6 x 2
  departure  dep_delay_mean
  <date>              <dbl>
1 2013-01-01          11.5 
2 2013-01-02          13.9 
3 2013-01-03          11.0 
4 2013-01-04           8.95
5 2013-01-05           5.73
6 2013-01-06           7.15

ggplot(data = dataset, aes(x = departure, y = dep_delay_mean)) +
  geom_point(colour = "red") +
  geom_line(colour = "blue") +
  geom_smooth(method = "lm", colour = "orange", se = FALSE) +
  theme_minimal()

enter image description here