这是我的代码:

tmp <- data.frame(t_year = rnorm(100,0,1),
                  labs =  c(rep("Linear",50), rep("Spline",50)),
                  STUDY_PARTICIPANT_ID = rep(seq(1,50),2),
                  logpsa = rnorm(100,0.5,1),
                  mypredict = rnorm(100,1,2))


p <- ggplot(tmp) + 
       geom_line(aes(t_year,
                     mypredict,
                     group = as.factor(labs),
                     color = as.factor(labs))) + 
       geom_line(aes(t_year,
                     logpsa,
                     group = STUDY_PARTICIPANT_ID,
                     color = STUDY_PARTICIPANT_ID))

它只与 geom_line() 中的任何一个一起运行,但它并不认为是这种情况 . 有没有人有任何建议?我最初使用 geom_smooth() 作为拟合线,但我无法在ggplot的侧面添加一个图例 . 因此,我得到了拟合值并将它们放入数据集中,并且只是用 geom_line() 绘制它们 . 我想要的只是我的线性拟合线和我的样条线的标签 . 这里的数据没有显示趋势,但它会给你我收到的错误消息 . 感谢您对我的第一篇文章的耐心等待 .