Skip to content

Instantly share code, notes, and snippets.

@MilesMcBain
Last active June 22, 2020 23:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MilesMcBain/65a6b098c154ee34a5968966ba5e8f10 to your computer and use it in GitHub Desktop.
Save MilesMcBain/65a6b098c154ee34a5968966ba5e8f10 to your computer and use it in GitHub Desktop.
sumarise empty levels?
``` r
library(tidyverse)
fruits <- tribble(~fruit, ~date, ~sold,
"Apple", "2020-06-23", 1,
"Apple", "2020-06-24", 2) %>%
mutate(fruit = fct_expand(fruit, "Banana"))
levels(fruits$fruit)
#> [1] "Apple" "Banana"
fruits %>%
group_by(fruit, .drop = FALSE) %>%
summarise(fruit,
n_sold = sum(sold))
#> `summarise()` regrouping output by 'fruit' (override with `.groups` argument)
#> # A tibble: 2 x 2
#> # Groups: fruit [2]
#> fruit n_sold
#> <fct> <dbl>
#> 1 Apple 3
#> 2 Apple 3
fruits %>%
group_by(fruit, .drop = FALSE) %>%
summarise(fruit,
n = n())
#> `summarise()` regrouping output by 'fruit' (override with `.groups` argument)
#> # A tibble: 2 x 2
#> # Groups: fruit [2]
#> fruit n
#> <fct> <int>
#> 1 Apple 2
#> 2 Apple 2
fruits %>%
count(fruit, .drop = FALSE)
#> # A tibble: 2 x 2
#> fruit n
#> <fct> <int>
#> 1 Apple 2
#> 2 Banana 0
```
<sup>Created on 2020-06-23 by the [reprex package](https://reprex.tidyverse.org) (v0.3.0)</sup>
<details>
<summary>Session info</summary>
``` r
devtools::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 3.6.1 (2019-07-05)
#> os Ubuntu 19.10
#> system x86_64, linux-gnu
#> ui X11
#> language en_AU:en
#> collate en_AU.UTF-8
#> ctype en_AU.UTF-8
#> tz Australia/Brisbane
#> date 2020-06-23
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date lib source
#> assertthat 0.2.1 2019-03-21 [1] CRAN (R 3.6.1)
#> backports 1.1.5 2019-10-02 [1] CRAN (R 3.6.1)
#> broom 0.5.5 2020-02-29 [1] CRAN (R 3.6.1)
#> callr 3.4.3 2020-03-28 [1] CRAN (R 3.6.1)
#> cellranger 1.1.0 2016-07-27 [1] CRAN (R 3.6.1)
#> cli 2.0.2 2020-02-28 [1] CRAN (R 3.6.1)
#> colorspace 1.4-1 2019-03-18 [1] CRAN (R 3.6.1)
#> crayon 1.3.4 2017-09-16 [1] CRAN (R 3.6.1)
#> DBI 1.1.0 2019-12-15 [1] CRAN (R 3.6.1)
#> dbplyr 1.4.2 2019-06-17 [1] CRAN (R 3.6.1)
#> desc 1.2.0 2018-05-01 [1] CRAN (R 3.6.1)
#> devtools 2.3.0 2020-04-10 [1] CRAN (R 3.6.1)
#> digest 0.6.25 2020-02-23 [1] CRAN (R 3.6.1)
#> dplyr * 1.0.0 2020-05-29 [1] CRAN (R 3.6.1)
#> ellipsis 0.3.0 2019-09-20 [1] CRAN (R 3.6.1)
#> evaluate 0.14 2019-05-28 [1] CRAN (R 3.6.1)
#> fansi 0.4.1 2020-01-08 [1] CRAN (R 3.6.1)
#> forcats * 0.5.0 2020-03-01 [1] CRAN (R 3.6.1)
#> fs 1.3.2 2020-03-05 [1] CRAN (R 3.6.1)
#> generics 0.0.2 2018-11-29 [1] CRAN (R 3.6.1)
#> ggplot2 * 3.3.0 2020-03-05 [1] CRAN (R 3.6.1)
#> glue 1.4.0 2020-04-03 [1] CRAN (R 3.6.1)
#> gtable 0.3.0 2019-03-25 [1] CRAN (R 3.6.1)
#> haven 2.2.0 2019-11-08 [1] CRAN (R 3.6.1)
#> highr 0.8 2019-03-20 [1] CRAN (R 3.6.1)
#> hms 0.5.3 2020-01-08 [1] CRAN (R 3.6.1)
#> htmltools 0.4.0 2019-10-04 [1] CRAN (R 3.6.1)
#> httr 1.4.1 2019-08-05 [1] CRAN (R 3.6.1)
#> jsonlite 1.6.1 2020-02-02 [1] CRAN (R 3.6.1)
#> knitr 1.28 2020-02-06 [1] CRAN (R 3.6.1)
#> lattice 0.20-38 2018-11-04 [4] CRAN (R 3.5.1)
#> lifecycle 0.2.0 2020-03-06 [1] CRAN (R 3.6.1)
#> lubridate 1.7.4 2018-04-11 [1] CRAN (R 3.6.1)
#> magrittr 1.5 2014-11-22 [1] CRAN (R 3.6.1)
#> memoise 1.1.0 2017-04-21 [1] CRAN (R 3.6.1)
#> modelr 0.1.6 2020-02-22 [1] CRAN (R 3.6.1)
#> munsell 0.5.0 2018-06-12 [1] CRAN (R 3.6.1)
#> nlme 3.1-141 2019-08-01 [4] CRAN (R 3.6.1)
#> pillar 1.4.3 2019-12-20 [1] CRAN (R 3.6.1)
#> pkgbuild 1.0.6 2019-10-09 [1] CRAN (R 3.6.1)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 3.6.1)
#> pkgload 1.0.2 2018-10-29 [1] CRAN (R 3.6.1)
#> prettyunits 1.1.1 2020-01-24 [1] CRAN (R 3.6.1)
#> processx 3.4.2 2020-02-09 [1] CRAN (R 3.6.1)
#> ps 1.3.2 2020-02-13 [1] CRAN (R 3.6.1)
#> purrr * 0.3.3 2019-10-18 [1] CRAN (R 3.6.1)
#> R6 2.4.1 2019-11-12 [1] CRAN (R 3.6.1)
#> Rcpp 1.0.4.6 2020-04-09 [1] CRAN (R 3.6.1)
#> readr * 1.3.1 2018-12-21 [1] CRAN (R 3.6.1)
#> readxl 1.3.1 2019-03-13 [1] CRAN (R 3.6.1)
#> remotes 2.1.1 2020-02-15 [1] CRAN (R 3.6.1)
#> reprex 0.3.0 2019-05-16 [1] CRAN (R 3.6.1)
#> rlang 0.4.6 2020-05-02 [1] CRAN (R 3.6.1)
#> rmarkdown 2.1 2020-01-20 [1] CRAN (R 3.6.1)
#> rprojroot 1.3-2 2018-01-03 [1] CRAN (R 3.6.1)
#> rvest 0.3.5 2019-11-08 [1] CRAN (R 3.6.1)
#> scales 1.1.0 2019-11-18 [1] CRAN (R 3.6.1)
#> sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 3.6.1)
#> stringi 1.4.6 2020-02-17 [1] CRAN (R 3.6.1)
#> stringr * 1.4.0 2019-02-10 [1] CRAN (R 3.6.1)
#> testthat 2.3.2 2020-03-02 [1] CRAN (R 3.6.1)
#> tibble * 3.0.1 2020-04-20 [1] CRAN (R 3.6.1)
#> tidyr * 1.0.2 2020-01-24 [1] CRAN (R 3.6.1)
#> tidyselect 1.1.0 2020-05-11 [1] CRAN (R 3.6.1)
#> tidyverse * 1.3.0 2019-11-21 [1] CRAN (R 3.6.1)
#> usethis 1.6.0 2020-04-09 [1] CRAN (R 3.6.1)
#> utf8 1.1.4 2018-05-24 [1] CRAN (R 3.6.1)
#> vctrs 0.3.1 2020-06-05 [1] CRAN (R 3.6.1)
#> withr 2.1.2 2018-03-15 [1] CRAN (R 3.6.1)
#> xfun 0.12 2020-01-13 [1] CRAN (R 3.6.1)
#> xml2 1.2.5 2020-03-11 [1] CRAN (R 3.6.1)
#> yaml 2.2.1 2020-02-01 [1] CRAN (R 3.6.1)
#>
#> [1] /home/miles/R/x86_64-pc-linux-gnu-library/3.6
#> [2] /usr/local/lib/R/site-library
#> [3] /usr/lib/R/site-library
#> [4] /usr/lib/R/library
```
</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment