2015-06-30 50 views
1

我正在嘗試使用軟件包magrittr的管道縮小嵌套括號。所以我試圖執行Hmisc包的summarize()函數。如何使用R的'magrittr'包的管道運算符來總結()R中包'Hmisc'的功能?

data(iris) 
summarize(iris$Sepal.Length,iris$Species,mean) 

如何使用管道magrittr包中的R (%>%)

+1

是否有任何理由在'dplyr :: summarize'上使用'Hmisc :: summarize'? (物種)%>%dplyr :: summarize(平均值(Sepal.Length))' – ExperimenteR

+0

沒有具體原因。我在R.中嘗試了一些軟件包,通過管道做了簡單的命令,但無法進行總結。 –

回答

3

你好,你可以使用with這樣的:

library("Hmisc") 
library("magrittr") 
data(iris) 
iris %>% with(summarize(X = Sepal.Length, by = Species, FUN = mean)) 

編輯: 更妙的是你可以使用%$%運營商和跳過with步:

iris %$% summarize(X = Sepal.Length, by = Species, FUN = mean) 

##  Species Sepal.Length 
##1  setosa  5.006 
##2 versicolor  5.936 
##3 virginica  6.588 
+1

Thanks.Can我們使用管道打破了總結自己的功能? –

3

可以使用dplyr包。

> library("dplyr") 
> iris %>% group_by(Species) %>% summarize(length = mean(Sepal.Length))