что-то вроде этого сделало бы работу:
# data
example_df <- data.frame(col1 = c('A', 'A', 'A', 'B','B','B'),
col2 = 1:6)
# split into list of data.frames by value of col1
# and apply a function to get unique values of col2
lapply(
split(example_df, example_df$col1),
function(x) unique(x$col2)
)
Это вернет список, подобный этому:
$A
[1] 1 2 3
$B
[1] 4 5 6