我可以在 R 中描述吗?

Can I pipe into describe in R?

Describe from Hmisc 是我最喜欢的功能之一。它为数据集提供了一个漂亮的摘要。

我希望能够使用 dplyr 过滤数据集,然后将单个列传递给 describe()。

像这样

mtcars %>% filter(cyl > 5) %>% describe(cyl)

你可以使用 select :

library(dplyr)
library(Hmisc)

mtcars %>% filter(cyl > 5) %>% select(cyl) %>% describe()

1  Variables      21  Observations
----------------------------------------------------------------------------------
cyl 
       n  missing distinct     Info     Mean      Gmd 
      21        0        2    0.668    7.333   0.9333 
                      
Value          6     8
Frequency      7    14
Proportion 0.333 0.667
----------------------------------------------------------------------------------

这里有一些其他的方法。

rhs 括在大括号中可防止将 lhs 用作第一个参数。

mtcars %>% filter(cyl > 5) %>% { describe(.$cyl) }

magrittr 也有管道运算符 %$%,它不传递第一个参数。

library(magrittr)
mtcars %>% filter(cyl > 5) %$% describe(cyl)

with也可以用

mtcars %>% filter(cyl > 5) %>% with(describe(cyl))