我可以在 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))
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))