如何对行进行分组并在 r 中以列表形式排列它们的单元格关联?

Cas*_*mos 5 r data-manipulation dataframe

由于我的英语水平有限,我无法很好地表达这个问题。但是我想查看我的数据框的单元格关联。意思是,假设我选择“行 a”,那么“行 a”的多个关联如何,然后创建一个数据框,其中每一行都对应于其关联列表?我知道几个dplyr函数,比如group_bygroup_splits,但是我无法使用这些函数。这是我的目标:

ex_df  <- data.frame(Tracts= c(500, 200, 420, 317, 783, 200, 200, 500, 317, 783),
                    Cluster = c(1, 2, 3, 4, 4, 5,1, 2 ,4,3))
#gives:
#       Tracts Cluster
# 1     500       1
# 2     200       2
# 3     420       3
# 4     317       4
# 5     783       4
# 6     200       5
# 7     200       1
# 8     500       2
# 9     317       4
# 10    783       3

# Now how do I get the dataframe where I can get list (or character vector is ok) 
# of cell associations? Something like this:

#Required output:
#    Tracts Contained_cluster
# 1   500       1,2
# 2   200       1,2,5
# 3   420       3
# 4   317       4
# 5   783       3,4

Run Code Online (Sandbox Code Playgroud)

由于缺乏英语水平,我无法进行适当的搜索。如果这个问题是重复的,请告诉我。另外,如果您可以重新表述问题,请随意。谢谢你。

Ron*_*hah 5

使用aggregate我们可以unique为每个Tracts.

aggregate(Cluster~Tracts, ex_df, function(x) toString(sort(unique(x))))

#  Tracts Cluster
#1    200 1, 2, 5
#2    317       4
#3    420       3
#4    500    1, 2
#5    783    3, 4
Run Code Online (Sandbox Code Playgroud)

或者同样使用dplyr

library(dplyr)
ex_df %>% group_by(Tracts) %>% summarise(Cluster = toString(sort(unique(Cluster))))
Run Code Online (Sandbox Code Playgroud)