Я вычислил биномиальную регрессию в R:
Call:
glm(formula = cbind(success, failure) ~ x * f, family = "binomial",
data = tb1)
Deviance Residuals:
Min 1Q Median 3Q Max
-3.6195 -0.9399 -0.0493 0.5698 2.0677
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.3170182 0.0622600 -37.215 < 2e-16 ***
x 0.0138201 0.0009892 13.972 < 2e-16 ***
fTRUE 0.6466238 0.1976115 3.272 0.00107 **
x:fTRUE -0.0035741 0.0032587 -1.097 0.27273
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 479.88 on 147 degrees of freedom
Residual deviance: 201.53 on 144 degrees of freedom
(7 observations deleted due to missingness)
AIC: 870.72
Number of Fisher Scoring iterations: 4
, и я хотел бы ее визуализировать. Я хотел бы построить данные и кривую регрессии. Я могу легко заставить работать линейный сглаживатель:
ggplot(tb1, aes(x, success/(success+failure), colour=f)) +
geom_point() +
geom_smooth(method="lm")
, но я действительно хочу нарисовать логистическую кривую через данные. Когда я пытаюсь:
ggplot(tb1, aes(x, success/(success+failure), colour=f)) +
geom_point() +
geom_smooth(
method="glm",
method.args=list(family="binomial"),
)
, я получаю этот график:
, что кажется неправильным. Стандартные ошибки не должны быть такими большими. Я подумал, что нужно явно указать формулу в geom_smooth, но я не могу понять синтаксис правильно. Когда я пытаюсь
ggplot(tb1, aes(x, success/(success+failure), colour=f)) +
geom_point() +
geom_smooth(
method="glm",
method.args=list(
family="binomial",
formula = cbind(success, failure) ~ x
)
)
, я получаю
Предупреждающее сообщение:
Ошибка вычисления в stat_smooth()
:
объект 'success' не найден
Как правильно указать формулу?