1
+ # ' @importFrom vctrs field vec_cast new_rcrd
1
2
new_quantiles <- function (values = double(), quantile_values = double()) {
2
3
arg_is_probabilities(quantile_values )
3
4
4
5
vec_cast(values , double())
5
6
vec_cast(quantile_values , double())
6
7
stopifnot(length(values ) == length(quantile_values ))
7
- stopifnot(! vec_duplicate_any(quantile_values ))
8
+ stopifnot(! vctrs :: vec_duplicate_any(quantile_values ))
8
9
if (is.unsorted(quantile_values )) {
9
- o <- vec_order(quantile_values )
10
+ o <- vctrs :: vec_order(quantile_values )
10
11
values <- values [o ]
11
12
quantile_values <- quantile_values [o ]
12
13
}
@@ -20,6 +21,8 @@ new_quantiles <- function(values = double(), quantile_values = double()) {
20
21
}
21
22
22
23
24
+
25
+ # ' @importFrom vctrs vec_ptype_abbr vec_ptype_full
23
26
# ' @export
24
27
vec_ptype_abbr.dist_quantiles <- function (x , ... ) " dist_qntls"
25
28
# ' @export
@@ -51,6 +54,7 @@ format.dist_quantiles <- function(x, digits = 2, ...) {
51
54
# '
52
55
# ' dist_quantiles(1:4, 1:4 / 5)
53
56
# ' dist_quantiles(1:4, c(1, 3, 2, 4) / 5)
57
+ # ' @importFrom vctrs as_list_of vec_recycle_common new_vctr
54
58
dist_quantiles <- function (values , quantile_values ) {
55
59
if (! is.list(values )) values <- list (values )
56
60
if (! is.list(quantile_values )) quantile_values <- list (quantile_values )
@@ -114,10 +118,11 @@ extrapolate_quantiles <- function(x, probs, ...) {
114
118
}
115
119
116
120
# ' @export
121
+ # ' @importFrom vctrs vec_data
117
122
extrapolate_quantiles.distribution <- function (x , probs , ... ) {
118
123
arg_is_probabilities(probs )
119
124
dstn <- lapply(vec_data(x ), extrapolate_quantiles , p = probs , ... )
120
- distributional ::: wrap_dist (dstn )
125
+ new_vctr (dstn , vars = NULL , class = " distribution " )
121
126
}
122
127
123
128
# ' @export
@@ -157,7 +162,8 @@ nested_quantiles <- function(x) {
157
162
map(
158
163
x ,
159
164
~ distributional :: parameters(.x ) %> %
160
- tidyr :: unnest(tidyselect :: everything())
165
+ tidyr :: unnest(tidyselect :: everything()) %> %
166
+ mutate(values = unname(values ))
161
167
)
162
168
}
163
169
@@ -418,7 +424,7 @@ Ops.dist_quantiles <- function(e1, e2) {
418
424
# ' @method is.na distribution
419
425
# ' @export
420
426
is.na.distribution <- function (x ) {
421
- sapply(vctrs :: vec_data(x ), is.na )
427
+ sapply(vec_data(x ), is.na )
422
428
}
423
429
424
430
# ' @method is.na dist_quantiles
0 commit comments