@@ -266,8 +266,7 @@ build_tsibble <- function(x, key = NULL, key_data = NULL, index, index2 = index,
266266 assert_key_data(key_data )
267267 key <- head(names(key_data ), - 1L )
268268 }
269- key_pos <- eval_select(enquo(key ), data = x )
270- key_vars <- syms(names(x )[key_pos ])
269+ key_vars <- names(eval_select(enquo(key ), data = x ))
271270
272271 tbl <- as_tibble(x )
273272 # extract or pass the index var
@@ -288,11 +287,11 @@ build_tsibble <- function(x, key = NULL, key_data = NULL, index, index2 = index,
288287 }
289288 # arrange index from past to future for each key value
290289 if (vec_size(tbl ) == 0 || is_null(ordered )) { # first time to create a tsibble
291- tbl <- arrange(tbl , !!! key_vars , !! sym(index ))
290+ tbl <- arrange(tbl , !!! syms( key_vars ) , !! sym(index ))
292291 ordered <- TRUE
293292 }
294293 if (! is_key_data ) {
295- key_data <- group_data(group_by (tbl , !!! key_vars , . drop = .drop ))
294+ key_data <- group_data(grouped_df (tbl , vars = key_vars , drop = .drop ))
296295 }
297296 if (! ordered ) { # if false, double check
298297 ordered <- validate_index_order(tbl , key_data , index )
@@ -335,7 +334,7 @@ build_tsibble_meta <- function(x, key_data = NULL, index, index2,
335334 # convert grouped_df to tsibble:
336335 # the `groups` arg must be supplied, otherwise returns a `tbl_ts` not grouped
337336 if (idx_lgl ) {
338- x <- group_by (x , !! sym( index2 ), .add = TRUE )
337+ x <- grouped_df (x , vars = union(group_vars( x ), index2 ) )
339338 }
340339 grp_data <- x %@ % " groups"
341340 x <- new_tibble(x ,
0 commit comments