首页 > 解决方案 > 我如何从 ggplot 得到一条直线,我做错了什么?

问题描述

我对 R 非常陌生,我正在开展一个自愿项目,以根据对几种分类类型的类似观察来预测一些参数。例如,不同人的参数相同,但每个人的值当然不同。

我从 ggplot 得到这个输出:

在此处输入图像描述

我的问题是:

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

  2. 从这个图中,我是否做错了什么,如果是,它是否与 lm 函数有关?

标签: rggplot2

解决方案


由于 OP 没有提供 MRE(请参阅此处了解如何在 R 中制作一个),我正在使用包中的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()

在此处输入图像描述


推荐阅读