Изучите ggplot2 и не понимайте, почему второй набор кода вызывает ошибку. Все, что мне нужно было сделать, это добавить эстетику в команду stat_smooth в третьем наборе кода, и все получилось отлично, но я не понимаю, почему.Модели логистической регрессии в ggplot2
ggplot(df, aes(x=wave.height, y=ship.deploy)) + geom_point() +
stat_smooth(method="glm", method.args=list(family="binomial"), se=FALSE)
ggplot(data = df) +
geom_point(mapping = aes(x = wave.height, y = ship.deploy)) +
stat_smooth(method = "glm", method.args = list(family = "binomial"), se = FALSE)
Error: stat_smooth requires the following missing aesthetics: x, y
ggplot(data = df) +
geom_point(mapping = aes(x = wave.height, y = ship.deploy)) +
stat_smooth(mapping = aes(x = wave.height, y = ship.deploy),method = "glm", method.args = list(family = "binomial"), se = FALSE)
Я голосовал, чтобы закрыть вопрос, потому что он не имеет никакого отношения к статистике. – SmallChess
В вашем первом примере вы сопоставляете 'x' и' y' глобально в 'ggplot'. Эта глобальная эстетика переходит к остальным слоям. Во втором примере вы не используете глобальную эстетику, вместо этого отображаете 'x' и' y' только в слое 'geom_point'. Они не передаются другим слоям, поэтому 'stat_smooth' не использует' x' и 'y' эстетику для использования, и вы получаете сообщение об ошибке. – aosmith