| descript | R Documentation |
Function returns univariate data summaries for each variable supplied, however
discrete and continuous variables are treated separately. Structure provides
a more pipe-friendly API for selecting and subsetting variables using the
dplyr syntax, however conditional statistics are evaluated internally using the
by function. Quantitative/continuous variable
information is kept distinct in the output, while discrete variables (e.g.,
factors and character vectors)
can be returned by using the discrete argument.
descript(df, funs = get_descriptFuns(), discrete = FALSE)
get_descriptFuns()
df |
a |
funs |
functions to apply when
|
discrete |
logical; include summary statistics for |
Conditioning: As the function is intended to support
pipe-friendly code specifications, conditioning/group subset
specifications are declared using group_by
and subsequently passed to descript. This is true
of all the verbs available in dplyr.
summarise, group_by
library(dplyr)
data(mtcars)
if(FALSE){
# run the following to see behavior with NA values in dataset
mtcars[sample(1:nrow(mtcars), 3), 'cyl'] <- NA
mtcars[sample(1:nrow(mtcars), 5), 'mpg'] <- NA
}
fmtcars <- within(mtcars, {
cyl <- factor(cyl)
am <- factor(am, labels=c('automatic', 'manual'))
vs <- factor(vs)
})
# with and without factor variables
mtcars |> descript()
fmtcars |> descript() # factors/discrete vars omitted
fmtcars |> descript(discrete=TRUE) # discrete variables only
# usual pipe chaining
fmtcars |> select(mpg, wt) |> descript()
fmtcars |> filter(mpg > 20) |> select(mpg, wt) |> descript()
# conditioning with group_by()
fmtcars |> group_by(cyl) |> descript()
fmtcars |> group_by(cyl, am) |> descript()
# conditioning also works with group_by()
fmtcars |> group_by(cyl) |> descript(discrete=TRUE)
fmtcars |> group_by(am) |> descript(discrete=TRUE)
fmtcars |> group_by(cyl, am) |> descript(discrete=TRUE)
# only return a subset of summary statistics
funs <- get_descriptFuns()
sfuns <- funs[c('mean', 'sd')] # subset
fmtcars |> descript(funs=sfuns) # only mean/sd
# add a new functions
funs2 <- c(sfuns,
Q_5 = \(x) quantile(x, .05, na.rm=TRUE),
median= \(x) median(x, na.rm=TRUE),
Q_95 = \(x) quantile(x, .95, na.rm=TRUE))
fmtcars |> descript(funs=funs2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.