A simple way to create multi-level statistic tables that integrates with the dplyr syntax.
This is sorely missing from the
tidyverse. There are a few multi-dimensional table creating packages and functions, notably
ftable and the
tables package. But I find this to be a more natural extension to the
dplyr workflow process, and I need something that will easily
knit to html.
So far its just a simple wrapper around some
tidyr commands that reshape the data into the desired multi-table structure.
Next step is to add/fix headers, and enhance the options....
For a brief example try the code below :
iris - I add another 2 random dimensions:
irist <- cbind(iris ,dum = c(rep(0,75),rep(1,75)) ,dum2 = c(rep("a",45),rep("b",105)))
Now lets use
dplyr syntax to create a few statistics by the dimensions and pipe it along to
irist %>% group_by(Species, dum, dum2) %>% summarise_at(vars(Sepal.Length), funs(n(),sd, mean)) %>% dplytab( row_by = c("dum2", "Species") ,col_by = c("dum"))
And this can easily extend to multiple analysis variables as well. For example:
irist %>% group_by(Species, dum, dum2) %>% summarise_at(vars(Sepal.Length, Sepal.Width), funs(n(),sd, mean)) %>% dplytab( row_by = c("dum2", "Species") ,col_by = c("dum"))
Next stages include:
Defining a class and print method for
Adding options to the order of the statistics displayed
* Adding totals and subtotals to row and/or coloumn statistics
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.