2017-05-13 7 views
2

グループ化に基づいて文字列の列を連結しようとしています。他のユーザーが使用していたコード(たとえばuse dplyr to concatenate a column)と同じコードを使用していますが、機能していないため、理由を特定できません。group_byを使用して文字列を連結し、rで要約する

a = tibble(
     x = c(1,2,1,2), 
     z = c('1','2','3','4') 
    ) 

a %>% group_by(x) %>% summarise(val=paste(z, collapse=" ")) 

は与える:

val 
1 1 2 3 4 

一つだけのグループがあったかのように動作します。私は、異なる機能を実行するときしかし、グループ化は正常に動作:問題が何であるか

a %>% group_by(x) %>% tally() 
# A tibble: 2 × 2 
     x  n 
    <dbl> <int> 
1  1  2 
2  2  2 

任意のアイデアは?

答えて

2

plyrパッケージもロードされ、summariseファンクションはdplyrから同じ機能名を持つので、マスクされている可能性があります。 1つのオプションは、dplyrパッケージの機能を指定するのに::を使用することです。

a %>% 
    group_by(x) %>% 
    dplyr::summarise(val=paste(z, collapse=" ")) 
# A tibble: 2 x 2 
#  x val 
# <dbl> <chr> 
#1  1 1 3 
#2  2 2 4 
関連する問題