使用dplyr,制作一组赔率/平均值,然后获得每组最小最大值。
library(dplyr)
df1 %>%
mutate(grp = if_else(numbers %% 2 == 0, "even", "odd")) %>%
group_by(grp) %>%
mutate(ID, numbers,
Tag = paste0(if_else(numbers == min(numbers), paste("Smallest", grp), ""),
if_else(numbers == max(numbers), paste("Largest", grp), ""))) %>%
ungroup() %>%
select(-grp)
# # A tibble: 6 x 3
# ID numbers Tag
#
# 1 1 12 Largest even
# 2 2 4 Smallest even
# 3 3 13 Largest odd
# 4 4 8
# 5 5 9 Smallest odd
# 6 6 4 Smallest even
编辑:
df1 %>%
mutate(grp = if_else(numbers %% 2 == 0, "even", "odd")) %>%
group_by(grp) %>%
mutate(ID, numbers,
Tag = paste0(if_else(numbers == min(numbers), "Smallest ", ""),
if_else(numbers == max(numbers), "Largest ", ""),
grp)) %>%
ungroup() %>%
select(-grp)
# # A tibble: 6 x 3
# ID numbers Tag
#
# 1 1 12 Largest even
# 2 2 4 Smallest even
# 3 3 13 Largest odd
# 4 4 8 even
# 5 5 9 Smallest odd
# 6 6 4 Smallest even