Мы можем использовать range
и получить это как list
столбец, а затем unnest
df %>%
group_by(claim_x) %>%
summarise(Fx = list(range(Fx))) %>%
unnest %>%
distinct
# A tibble: 9 x 2
# claim_x Fx
# <int> <dbl>
#1 0 0
#2 0 0.3
#3 100 0.35
#4 350 0.5
#5 350 0.6
#6 850 0.7
#7 2350 0.79
#8 4850 0.9
#9 4850 1
Или используя data.table
library(data.table)
unique(setDT(df)[, .(Fx = range(Fx)), by = claim_x])
данные
df <- structure(list(Fx = c(0, 0.05, 0.06, 0.1, 0.3, 0.35, 0.5, 0.6,
0.7, 0.79, 0.9, 1), claim_x = c(0L, 0L, 0L, 0L, 0L, 100L, 350L,
350L, 850L, 2350L, 4850L, 4850L)), class = "data.frame",
row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"))