R dataframe select 每组不同的值列表

R dataframe select distinct list of value per group

我有一个包含 2 列的数据框:

> head(session_item_pairs)
    session_id      item_id
53         811 111502665618
78         841 111502665618
127        901 111502665618
151        931 111502665618
477       1351 111502665618
501       1351 115641561585

我需要按 session_id 对数据框进行分组,并且对于每个 session_id return,该 session_id 的唯一项目列表按升序排列。例如对于 session_id 1351,结果将是

1351 (111502665618,115641561585)

有什么想法吗?

尝试 split 然后 unique 功能。

grouped <- split(df$item_id, df$session_id)
unique_items <- lapply(grouped, unique)

或一行

lapply(split(df$item_id, df$session_id), unique)

sort结果:

lapply(split(df$item_id, df$session_id), function(x) sort(unique(x)) )