test_that("dplyr verbs work", {
library(dplyr)
cb_nested <- climate_mel
cb_long <- face_temporal(climate_mel)
# filter - currently filter.spatial_cubble_df, dply_row_slice
expect_snapshot(cb_nested |> filter(elev > 40))
expect_snapshot(cb_long |> filter(prcp > 0))
# mutate - curerntly mutate.spatial_cubble_df, dply_col_modify
expect_snapshot(cb_nested |> mutate(elev2 = elev + 10))
expect_snapshot(cb_long |> mutate(prcp2 = prcp + 10))
# arrange - currently arrange.spatial_cubble_df, arrange.temporal_cubble_df
expect_snapshot(cb_nested |> arrange(wmo_id))
expect_snapshot(cb_long |> arrange(prcp))
# summarise - summarise.spatial_cubble_df, summarise.temporal_cubble_df
expect_snapshot(
cb_long |>
group_by(first_5 = ifelse(lubridate::day(date) <=5, 1, 2 )) |>
summarise(tmax = mean(tmax))
)
expect_snapshot(
cb_long |>
mutate(first_5 = ifelse(lubridate::day(date) <=5, 1, 2)) |>
summarise(t = mean(tmax), .by = first_5)
)
# select - select.spatial_cubble_df, select.temporal_cubble_df
expect_snapshot(cb_nested |> select(name))
expect_snapshot(cb_nested |> select(-id, -name))
expect_snapshot(cb_long |> select(prcp))
expect_snapshot(cb_long |> select(-prcp, -date))
# rename - rename.spatial_cubble_df, rename.temporal_cubble_df
expect_snapshot(cb_nested |> rename(elev2 = elev))
expect_snapshot(cb_long |> rename(prcp2 = prcp))
# rename on key attributes)
expect_snapshot(cb_nested |> rename(id2 = id))
expect_snapshot(cb_long |> rename(date2 = date))
# join - mutate_join - dplyr_reconstruct()
# join - filter_join - dplyr_row_slice()
df1 <- cb_nested |> as_tibble() |> select(id, name) |> head(2)
nested <- cb_nested |> select(-name)
expect_snapshot(nested |> left_join(df1, by = "id"))
expect_snapshot(nested |> right_join(df1, by = "id"))
expect_snapshot(nested |> inner_join(df1, by = "id"))
expect_snapshot(nested |> full_join(df1, by = "id"))
expect_snapshot(nested |> anti_join(df1, by = "id"))
# bind_rows - dplyr_reconstruct, bind_rows.temporal_cubble_df
df1 <- cb_nested |> head(1)
df2 <- cb_nested |> tail(2)
expect_snapshot(bind_rows(df1, df2))
df1 <- cb_long |> head(10)
df2 <- cb_long |> tail(20)
expect_snapshot(bind_rows(df1, df2))
# relocate - dplyr_col_select, dplyr_col_select
expect_snapshot(cb_nested |> relocate(ts, .before = name))
expect_snapshot(cb_nested |> face_temporal() |> relocate(tmin))
# slice - all the slice_* uses dplyr::slice(), which uses dplyr_row_slice()
expect_snapshot(cb_nested |> slice_head(n = 2))
expect_snapshot(cb_nested |> slice_tail(n = 2))
expect_snapshot(cb_nested |> slice_max(elev))
expect_snapshot(cb_nested |> slice_min(elev))
#set.seed(123)
#expect_snapshot(cb_nested |> slice_sample(n = 2))
# rowwise - rowwise.spatial_cubble_df, rowwise.temporal_cuble_df
expect_snapshot(cb_nested |> rowwise())
expect_snapshot(cb_long |> rowwise())
# group_by & ungroup -
expect_snapshot((res <- cb_nested |> mutate(group1 = c(1, 1, 2)) |> group_by(group1)))
expect_snapshot(res |> ungroup())
expect_snapshot((res2 <- res |> face_temporal()))
expect_snapshot(res2 |> ungroup())
res2 |> mutate(first_5 = ifelse(lubridate::day(date) <= 5, 1, 6)) |>
group_by(first_5)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.