library(tidyverse)
# Sample data
sample_df <- data.frame(
A = c(0, 1, 2, 3, 4, 5),
B = c(6.5, 6.4, 6.3, 6.1, 6, 5)
)
sample_df %>%
mutate(A = case_when(
A == 0 ~ "0",
A == 1 ~ "1",
A > 1 & A <= 4 ~ "2-4",
TRUE ~ ">5"),
A = factor(A, levels = c("0", "1", "2-4", ">5"))) %>%
group_by(A) %>%
summarise(B = mean(B))
#> # A tibble: 4 x 2
#> A B
#> <fct> <dbl>
#> 1 0 6.5
#> 2 1 6.4
#> 3 2-4 6.13
#> 4 >5 5