2017-02-08 10 views
0

は、ここに私の例である:dplyr、GROUP BYとのmutate - 間違った結果サイズ

Error in mutate_impl(.data, dots) : 
    wrong result size (2), expected 5 or 1 

あなたは私が私が間違っているのかを理解するのに役立つ可能性があり:

col_1 <- c('a','a','a','b','b') 
col_4 <- c('h','h','k','t','t') 
col_2 <- c('2015-10-10','2016-10-10','2015-10-10','2016-10-10','2016-10-10') 
col_3 <- c(1,2,3,445,56) 
test_df <- data.frame(col_1,col_2, col_3, col_4) 


df_result <- test_df %>% group_by(.dots = c('col_1', 'col_4')) %>% mutate(result_col = max(col_3)) 

これは、次のエラーメッセージを生成します?

+0

'group_by'の引用符で囲まれていない列名を使用 – user127649

+0

@ user127649あなたの提案を試みましたが、うまくいきませんでした。 – user1700890

+1

申し訳ありませんが、詳細は不十分です。これはどうですか: 'group_by(col_1、col_4)'、つまり '.dots =(c())'を削除してください – user127649

答えて

2

使用この:

df_result <- test_df %>% group_by(col_1, col_4) %>% mutate(result_col = max(col_3)) 
1

何らかの理由で、あなたが引用された列名を渡したい、場合、あなたはgroup_by_代わりのgroup_byを使用する必要があります。関数の末尾にある_に注意してください。

すべてのdplyr動詞を同様の方法で使用できます。