Cas*_*mos 5 r data-manipulation dataframe
由于我的英语水平有限,我无法很好地表达这个问题。但是我想查看我的数据框的单元格关联。意思是,假设我选择“行 a”,那么“行 a”的多个关联如何,然后创建一个数据框,其中每一行都对应于其关联列表?我知道几个dplyr函数,比如group_by或group_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)
由于缺乏英语水平,我无法进行适当的搜索。如果这个问题是重复的,请告诉我。另外,如果您可以重新表述问题,请随意。谢谢你。
使用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)