在ggplot中指定geom_smooth(method =“ gam”)会得出一个奇怪的图

时间:2019-05-27 07:03:29

标签: r ggplot2 smoothing

我有一些数据(请参见下面的代码)

ggplot(df, aes(x, y)) + geom_smooth() + geom_point(alpha= .1)

这将导致以下情节

plot1

另外,R通知我

  

geom_smooth()使用方法='gam'

到目前为止,对我来说一切都还不错。但是,如果我指定应该使用method =“ gam”,则会得到一个奇怪的图。看到这里:

ggplot(df, aes(x, y)) + geom_smooth(method= "gam") + geom_point(alpha= .1)

plot2

为什么第二个情节看起来如此怪异?对我来说,平滑线根本不代表数据。

完整的R代码:

library("ggplot2")
set.seed(1)
n <- 5000
df <- data.frame(x= rnorm(n))
df$y <- df$x**2 + rnorm(n)*5
ggplot(df, aes(x, y)) + geom_smooth() + geom_point(alpha= .1)
ggplot(df, aes(x, y)) + geom_smooth(method= "gam") + geom_point(alpha= .1)

0 个答案:

没有答案