fabletools icon indicating copy to clipboard operation
fabletools copied to clipboard

Calling relocate on a fable transforms it into tsibble

Open Fuco1 opened this issue 1 year ago • 1 comments

> tsibble(quantity = dist_normal(1, 1:6), outlook = 1:6, index = "outlook") %>% as_fable(response = "quantity", distribution = "quantity")

# A fable: 6 x 2 [1]
  quantity outlook
    <dist>   <int>
1  N(1, 1)       1
2  N(1, 4)       2
3  N(1, 9)       3
4 N(1, 16)       4
5 N(1, 25)       5
6 N(1, 36)       6

after relocate

> tsibble(quantity = dist_normal(1, 1:6), outlook = 1:6, index = "outlook") %>% as_fable(response = "quantity", distribution = "quantity") %>% relocate(outlook)

# A tsibble: 6 x 2 [1]
  outlook quantity
    <int>   <dist>
1       1  N(1, 1)
2       2  N(1, 4)
3       3  N(1, 9)
4       4 N(1, 16)
5       5 N(1, 25)
6       6 N(1, 36)

Since relocate does nothing to the data in the table and I think it's only for presentation purposes, we should not lose the class.

Fuco1 avatar May 07 '24 14:05 Fuco1

Reprex

library(tsibble)
library(distributional)
library(dplyr)
library(fable)
#> Loading required package: fabletools
fc <- tsibble(quantity = dist_normal(1, 1:6), outlook = 1:6, index = "outlook")
  as_fable(response = "quantity", distribution = "quantity")
fc |> 
  relocate(outlook)
#> # A tsibble: 6 x 2 [1]
#>   outlook quantity
#>     <int>   <dist>
#> 1       1  N(1, 1)
#> 2       2  N(1, 4)
#> 3       3  N(1, 9)
#> 4       4 N(1, 16)
#> 5       5 N(1, 25)
#> 6       6 N(1, 36)

Created on 2025-08-27 with reprex v2.1.1

mitchelloharawild avatar Aug 27 '25 00:08 mitchelloharawild