[英]How to concatenate columns using group_by and summarize dplyr functions
[英]Group, concatenate and return 3 columns using dplyr
以下是一些數據:
data = data.frame(
name=c("bob", "bob", "mary", "ann", "ann", "ann"),
colour=c("blue", "blue", "yellow", "green", "green", "blue"),
number=c(2,2,3,4,4,4))
data
data %>%
group_by(name) %>%
summarise(colours = paste(unique(colour), collapse = ' '))
如何如上所述將這些數據分組,但保留列number
? 在data
,所有Bob的遺囑= 2,所有Mary的遺囑= 3,所有Ann的遺囑=4。因此,對於每個唯一的name
值,我只需要返回每個數字的第一個實例。
預期產量:
name colours number
1 ann green blue 4
2 bob blue 2
3 mary yellow 3
您有2個選擇:
group_by
, group_by(name, number)
。 這通常是好的,因為如果您假設每個名稱恰好對應一個數字是不正確的,那么您將看到奇數組合。 summarise
,挑選您想要的值,例如, number = first(number)
作為內部的補充發言summarise
。 這樣可以提高計算效率,但是如果您假設每個名稱恰好對應一個數字是不正確的,那么您將得到意想不到的結果,或者您可能永遠不會注意到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.