7. Answers to common questions and extra examples

This vignette documents miscellaneous examples and questions received regarding the cubble package.

Why summarising of temporal data by station is not in temporal form?

Q: I’m trying to summarise the average maximum temperature by station. I’m not sure why the summarise function is not returning a temporal object.

climate_mel |> 
  face_temporal() |> 
  summarise(tmax_avg = mean(tmax, na.rm=TRUE))
#> # A tibble: 3 × 2
#>   id          tmax_avg
#>   <chr>          <dbl>
#> 1 ASN00086038     26.5
#> 2 ASN00086077     25.7
#> 3 ASN00086282     26.6

A: This operation should be performed in the spatial form. The form to use for an operation depends on the structure of the result. If the result has each key in a row without temporal index, it should be operated in the spatial form (example here):

climate_mel |> 
  rowwise() |> 
  mutate(tmax_avg = mean(ts$tmax, na.rm=TRUE))
#> # cubble:   key: id [3], index: date, nested form
#> # spatial:  [144.83, -37.98, 145.1, -37.67], Missing CRS!
#> # temporal: date [date], prcp [dbl], tmax [dbl], tmin [dbl]
#>   id           long   lat  elev name              wmo_id ts       tmax_avg
#>   <chr>       <dbl> <dbl> <dbl> <chr>              <dbl> <list>      <dbl>
#> 1 ASN00086038  145. -37.7  78.4 essendon airport   95866 <tibble>     26.5
#> 2 ASN00086077  145. -38.0  12.1 moorabbin airport  94870 <tibble>     25.7
#> 3 ASN00086282  145. -37.7 113.  melbourne airport  94866 <tibble>     26.6

The same treatment applies, if your spatial cubble is also an sf object.