Агрегирование при конкатенации в R с использованием dplyr-трубопровода
Как мне сгруппировать и суммировать данные из DF1 в DF4? Я хочу распространить данные таким образом, чтобы мои строки были объединены. Я могу добраться до DF3 используя
DF1 <- data.frame(Owner = c("Owner A","Owner B","Owner C","Owner B","Owner D"),
Project = c("project AA","project BA","project CA","project BB","project DA"),
nWins = c(1,4,4,2,1),
Type = c("A","B","B","C","A"))
DF1 %>% group_by(nWins, Type) %>% count %>% spread(Type,n) # to DF3
1 ответ
Решение
Вместо count
использовать summarise
вставить Owner
в виде строки на nWins-Type, затем spread
:
DF1 %>%
group_by(nWins, Type) %>%
summarise(Owner = paste(Owner, collapse=";")) %>%
spread(Type, Owner, fill="") %>%
as.data.frame()
# nWins A B C
#1 1 Owner A;Owner D
#2 2 Owner B
#3 4 Owner B;Owner C