2017-10-24 8 views
1

각 그룹의 결과를 반환하려고합니다. 각 그룹을 새로운 기능에 전달하는 올바른 방법은 무엇입니까?dplyr의 그룹 별 결과 표시

res<-data.frame(ballot1.y=c(1,2,1,2),ans=c(3,5,4,6))%>%group_by(ballot1.y)%>%mutate(res=head(myfunc(.))) 

myfunc<-function(vals){ 
    paste0(vals) 
} 

목표는

GROUP RES 
1  3,4 
2  5,6 

답변

3

우리는 summarise 대신 mutate 필요도 paste0은 의도 된 출력을하고 있지 않습니다. 우리는 collapse

myfunc<-function(vals){ 
    paste(vals, collapse=",") 
} 

data.frame(ballot1.y=c(1,2,1,2),ans=c(3,5,4,6))%>% 
    group_by(ballot1.y) %>% 
    summarise(res =myfunc(ans)) 
# A tibble: 2 x 2 
# ballot1.y res 
#  <dbl> <chr> 
#1   1 3,4 
#2   2 5,6 

에 편리한 기능이 paste(., collapse=", ")

입니다 toString입니다 필요