2015-10-25 48 views
0

我想總結一個變量的值與group_by使用dplyr包分裂數據後,下面的代碼工作正常,輸出在下面列出,但我不能用summarise_each替換summarise_eachsummriase即使只有一列需要計算,我不知道爲什麼?總結與summarise_each功能在dplyr包

iris %>% group_by(Species) %>% select(one_of('Sepal.Length')) %>% 
         summarise_each(funs(mean(.))) 

或者我會得到像「S3:lazy」這樣的輸出。

+0

您的預期產出是多少?使用你的代碼,我將'Species.Length'作爲第二列名稱。這是否改變列名? – akrun

+0

與我的代碼,我可以根據因子Species得到Sepal.Length的平均值。 – johnsonzhj

+0

是的,你可以得到那個,但我不明白這個問題是什麼。 – akrun

回答

1

summarizesummarize_each的工作方式完全不同。 summarize其實簡單 - 只需指定直接表達:

iris %>% 
    group_by(Species) %>% 
    select(Sepal.Length) %>% 
    summarize(Sepal.Length = mean(Sepal.Length)) 

您可以爲輸出列選擇任何名稱,它並不需要是相同的輸入。

+0

注意到,動詞彙總沒有'funs'。 – johnsonzhj