abline()的麻烦

时间:2018-05-02 00:00:21

标签: r ggplot2

好的,所以我在Googling之后尝试了所有可能的组合,以便在我的图表上获得最合适的线条(只有2个数据点)。

我从Excel导入了我的数据集Seal_Tide_data_set。 在我尝试添加趋势线之前,绘图的代码一直有效,是的,我已将趋势线代码添加到现有的绘图代码中,因此它们位于相同的行上 - 也尝试过,并且不断收到错误消息&#34 ; plot.new还没有被调用"

这是我的代码(没有趋势线):

Seal_Tide_data_set
library(ggplot2)
ggplot(Seal_Tide_data_set,aes(time,numSeals)) + 
    geom_point() + 
    labs(x="Number of Seals",y="Time of Day") + ylim(0,14)

这有效并让我得到一个图表,现​​在我只需要添加一行最佳拟合,所以我所知道的是abline()函数是最好的

我试过了:

Seal_Tide_data_set
library(ggplot2)
ggplot(Seal_Tide_data_set,aes(time,numSeals)) + 
   geom_point() + labs(x="Number of Seals",y="Time of Day") + 
   ylim(0,14) + 
   abline(lm(Seal_Tide_data_set$time~Seal_Tide_data_set$numSeals))

并获取此错误代码:

Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) : 
  plot.new has not been called yet

我也尝试过:(我真的没想到会工作,因为我不知道我用abline函数指的是什么情节)

Seal_Tide_data_set
library(ggplot2)
ggplot(Seal_Tide_data_set,aes(time,numSeals)) + 
 geom_point() + labs(x="Number of Seals",y="Time of Day") + 
 ylim(0,14) 
abline(lm(Seal_Tide_data_set$time~Seal_Tide_data_set$numSeals))

真的不确定还有什么可以尝试的 (我还尝试过其他一些行函数,比如lines()等,上面的两种格式替换为abline())

非常感谢任何帮助! (:

1 个答案:

答案 0 :(得分:3)

尝试将+ geom_smooth(method="lm")添加到您的ggplot2规范中。

abline()专为基础图而设计,仅适用于ggplot2