Skip to content

Commit 2a59b8c

Browse files
Fix select(<fable>) behaviour not matching select(<tsibble>) for key variables
1 parent 73daaef commit 2a59b8c

File tree

1 file changed

+3
-16
lines changed

1 file changed

+3
-16
lines changed

R/fable.R

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -194,31 +194,18 @@ hilo.fbl_ts <- function(x, level = c(80, 95), ...){
194194
}
195195

196196
restore_fable <- function(data, template){
197-
data <- as_tibble(data)
198197
data_cols <- names(data)
199198

200-
# key_vars <- setdiff(key_vars(template), data_cols)
201-
# key_data <- select(key_data(template), key_vars)
202-
# if (vec_size(key_data) == 1) {
203-
# template <- remove_key(template, setdiff(key_vars(template), key_vars))
204-
# }
205-
206199
# Variables to keep
207-
tsbl_vars <- setdiff(c(index_var(template), key_vars(template)), data_cols)
208200
fbl_vars <- setdiff(distribution_var(template), data_cols)
209-
res <- bind_cols(template[tsbl_vars], data, template[fbl_vars])
210-
211-
tsbl <- build_tsibble(res, !!key_vars(template),
212-
index = !!index(template), index2 = !!index2(template),
213-
ordered = is_ordered(template), interval = interval(template),
214-
validate = FALSE)
201+
res <- bind_cols(data, template[fbl_vars])
215202

216-
build_fable(tsbl, response = response_vars(template), distribution = !!distribution_var(template))
203+
build_fable(data, response = response_vars(template), distribution = !!distribution_var(template))
217204
}
218205

219206
#' @export
220207
select.fbl_ts <- function (.data, ...){
221-
res <- select(as_tibble(.data), ...)
208+
res <- select(as_tsibble(.data), ...)
222209
restore_fable(res, .data)
223210
}
224211

0 commit comments

Comments
 (0)