#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))
?