Skip to content

Commit 410da60

Browse files
committed
revert changes
1 parent 86b8708 commit 410da60

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

R/dist_quantiles.R

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ median.dist_quantiles <- function(x, na.rm = FALSE, ..., middle = c("cubic", "li
157157
if (length(quantile_levels) < 2 || min(quantile_levels) > 0.5 || max(quantile_levels) < 0.5) {
158158
return(NA)
159159
}
160+
if (length(quantile_levels) < 3 || min(quantile_levels) > .25 || max(quantile_levels) < .75) {
161+
return(stats::approx(quantile_levels, values, xout = 0.5)$y)
162+
}
160163
quantile(x, 0.5, ..., middle = middle)
161164
}
162165

@@ -204,22 +207,22 @@ quantile_extrapolate <- function(x, tau_out, middle) {
204207
result <- tryCatch(
205208
{
206209
Q <- stats::splinefun(tau, qvals, method = "hyman")
210+
quartiles <- Q(c(.25, .5, .75))
207211
},
208212
error = function(e) {
209213
return(NA)
210214
}
211215
)
212216
}
213-
214-
if (middle == "linear" || any(is.na(result))) method <- "linear"
215-
217+
if (middle == "linear" || any(is.na(result))) {
218+
method <- "linear"
219+
quartiles <- stats::approx(tau, qvals, c(.25, .5, .75))$y
220+
}
216221
if (any(indm)) {
217222
qvals_out[indm] <- switch(method,
218223
linear = stats::approx(tau, qvals, tau_out[indm])$y,
219224
cubic = Q(tau_out[indm])
220225
)
221-
tau <- sort(unique(c(tau, tau_out[indm])))
222-
qvals <- sort(unique(c(qvals, qvals_out[indm])))
223226
}
224227
if (any(indl) || any(indr)) {
225228
qv <- data.frame(
@@ -230,10 +233,10 @@ quantile_extrapolate <- function(x, tau_out, middle) {
230233
dplyr::arrange(q)
231234
}
232235
if (any(indl)) {
233-
qvals_out[indl] <- tail_extrapolate(tau_out[indl], utils::head(qv, 2))
236+
qvals_out[indl] <- tail_extrapolate(tau_out[indl], head(qv, 2))
234237
}
235238
if (any(indr)) {
236-
qvals_out[indr] <- tail_extrapolate(tau_out[indr], utils::tail(qv, 2))
239+
qvals_out[indr] <- tail_extrapolate(tau_out[indr], tail(qv, 2))
237240
}
238241
qvals_out
239242
}

0 commit comments

Comments
 (0)