62
62
# ' }
63
63
# '
64
64
# ' @export
65
- binned_residuals <- function (model , term = NULL , n_bins = NULL , show_dots = NULL , ... ) {
65
+ binned_residuals <- function (model , term = NULL , n_bins = NULL , show_dots = NULL , resids = c(" gaussian" , " exact" , " boot" ), level = 0.95 , ... ) {
66
+
67
+ resids <- match.arg(resids )
66
68
fv <- stats :: fitted(model )
67
69
mf <- insight :: get_data(model , verbose = FALSE )
68
70
@@ -78,8 +80,9 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL
78
80
show_dots <- is.null(n ) || n < = 1e5
79
81
}
80
82
81
- y <- .recode_to_zero(insight :: get_response(model , verbose = FALSE )) - fv
82
- >>>>>>> upstream / main
83
+
84
+ y0 <- .recode_to_zero(insight :: get_response(model , verbose = FALSE ))
85
+ y <- y0 - fv
83
86
84
87
if (is.null(n_bins )) n_bins <- round(sqrt(length(pred )))
85
88
@@ -96,18 +99,28 @@ binned_residuals <- function(model, term = NULL, n_bins = NULL, show_dots = NULL
96
99
n <- length(items )
97
100
sdev <- stats :: sd(y [items ], na.rm = TRUE )
98
101
99
- bt <- binom.test(sum(y0 [items ]), n )
100
- data.frame (
102
+ ci_fun <- function () {
103
+ r <- switch (resids ,
104
+ gaussian = qnorm(c((1 - level )/ 2 , (1 + level )/ 2 ),
105
+ mean = ybar , sd = sdev / sqrt(n )),
106
+ exact = stats ::: binom.test(sum(y0 [items ]), n )$ conf.int - fv ,
107
+ boot = Hmisc :: smean.cl.boot(y [items ], conf.int = level )[c(" Lower" , " Upper" )]
108
+ )
109
+ names(r ) <- c(" CI_low" , " CI_high" )
110
+ r
111
+ }
112
+
113
+ d0 <- data.frame (
101
114
xbar = xbar ,
102
115
ybar = ybar ,
103
116
n = n ,
104
117
x.lo = model.range [1 ],
105
118
x.hi = model.range [2 ],
106
- se = stats :: qnorm(0.975 ) * sdev / sqrt(n ),
107
- ci_range = sdev / sqrt(n ),
108
- CI_low = bt $ conf.int [1 ] - fv ,
109
- CI_high = bt $ conf.int [2 ] - fv
119
+ se = stats :: qnorm((1 + level )/ 2 ) * sdev / sqrt(n ),
120
+ ci_range = sdev / sqrt(n )
110
121
)
122
+ cbind(d0 , rbind(ci_fun()))
123
+
111
124
}))
112
125
113
126
d <- do.call(rbind , d )
0 commit comments