使用ggplot和predict()R

时间:2015-05-20 23:10:29

标签: r ggplot2 regression predict

我不是R专家,而且我要用R做一些事情...但我甚至在简单的任务中堆积...对不起,如果这是一个基本问题,但我没有看到任何问题,如我在这里的stackoverflow ...

我在这里与ggplot2和R中的predict()度过了不愉快。

如果有人可以帮助我,我会很感激=]

    setwd("/home/kaihami/Desktop/Python/RR_Bioinfo/")


library("ggplot2")

data_total <- data.frame(bac, Phylum, Domain, CDS, Total)

#model (Total)
modlinear <- lm(Total ~ CDS)
xmin <- min(logCds2)
xmax <- max(logCds2)
predicted <- data.frame(logCds2=seq(xmin, xmax, length.out=length(logCds2)))
predicted$Total <- predict(modlinear, predicted)

#Total RR (ln)geom_line(aes(x=x, y=y.hat), col=2)
ggplot(data_total, aes(x = CDS, y = Total, colour = Domain))+
  geom_point(size=3.2, alpha = 0.4) +
  theme_bw()+theme(axis.line = element_line(colour = "black"),
                   panel.grid.major = element_blank(),
                   panel.grid.minor = element_blank(),
                   panel.border = element_blank(),
                   panel.background = element_blank(),
                   legend.title=element_blank(),
                   legend.key=element_blank()) +
  geom_abline(data = predicted)

使用此代码,我得到了我想要的图表,右轴和值......

但是当我试图放回回归线时,我得到了一个非常糟糕的图形,回归线错位......(抱歉但我还不能发布图像)

所以我尝试检查我的模型是否正确并且使用了摘要(modlinear)。

我的问题是,这里的任何人都知道如何解决它?有人经历过吗?

另一个愚蠢的问题...... geom_abline和geom_line之间的主要区别是什么?

1 个答案:

答案 0 :(得分:0)

data: { authenticate: true } 就像说y = ax + b,你指定斜率和截距。

geom_abline()绘制线拟合数据。查看docs.ggplot2.org网站@Dennis评论。

所以你有两个选择。如果回归线是线性的,请使用geom_line()并指定斜率和截距,或者,如果要绘制预测数据,请使用geom_abline()和适当的参数。更有意义吗?