Как построить график рассеяния времени (ось x) и двух других столбцов на y (ось) с помощью линии регрессии?

#r #ggplot2

#r #ggplot2

Вопрос:

Я хочу добавить линию регрессии на точечный график, используя ggplot времени (ось x) и два других столбца на оси y. Точечный график правильный, но время находится в факторной форме, оно не формирует линию регрессии. Пожалуйста, подскажите, как я могу добавить линию регрессии?

Я уже добавил geom_smooth, но это не работает в моем коде

 library(reshape2)
library(ggplot2)

my_data = read.csv(file.choose(),header = TRUE)

df<- data.frame(my_data$Time,my_data$Entry,my_data$Exit)

# order the level of time
df$my_data.Time <- factor(df$my_data.Time, order=TRUE,levels= df$my_data.Time)

mdf <- melt(df,id.vars = 1,measure.vars=c(2,3))

gp <- ggplot(mdf, aes(x=mdf$my_data.Time, y=mdf$value,fill=mdf$variable,colour=mdf$value))  
  geom_point(aes(colour = mdf$variable),size=2)  
  geom_smooth(formula= y~x)   
  theme(panel.background=element_rect(fill="white"), 
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank())

gp 
  

Я хочу точечный график с линией регрессии, но geom_smooth не работает.

Комментарии:

1. Добавьте несколько строк данных CSV, отредактировав свой вопрос

2. Что, если вы сделаете geom_smooth(formula= value~my_data.Time) ? Вам также не нужно df$ внутри aes() .

3. На самом деле я не могу выяснить, где я ошибаюсь.. когда я меняю фактор времени на числовой, он показывает линию регрессии, но со временем этого не происходит, я думаю, что это проблема, связанная с переменной фактора… но я не знаю, как я могу это решить

4. Не могли бы вы предоставить выходные данные dput(head(mdf)) ?