Last active
December 19, 2020 01:11
-
-
Save tylerlittlefield/7d58b53fb43220eab3142da0ab1b63b7 to your computer and use it in GitHub Desktop.
Changing the name in the lhs with rlang
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(rlang) | |
library(dplyr) | |
#> | |
#> Attaching package: 'dplyr' | |
#> The following objects are masked from 'package:stats': | |
#> | |
#> filter, lag | |
#> The following objects are masked from 'package:base': | |
#> | |
#> intersect, setdiff, setequal, union | |
# using objects for list names, when you dont want to go [[ route | |
x <- "foo" | |
y <- "bar" | |
list2( | |
!!sym(x) := 1, | |
!!sym(y) := 2 | |
) | |
#> $foo | |
#> [1] 1 | |
#> | |
#> $bar | |
#> [1] 2 | |
# lhs variables with mutate | |
# src: https://speakerdeck.com/lionelhenry/interactivity-and-programming-in-the-tidyverse | |
mean_by <- function(data, by, var, var_name) { | |
data %>% | |
group_by({{ by }}) %>% | |
summarise({{ var_name }} := mean({{ var }})) | |
} | |
iris %>% | |
mean_by(Species, Sepal.Width, "custom_name") | |
#> `summarise()` ungrouping output (override with `.groups` argument) | |
#> # A tibble: 3 x 2 | |
#> Species custom_name | |
#> <fct> <dbl> | |
#> 1 setosa 3.43 | |
#> 2 versicolor 2.77 | |
#> 3 virginica 2.97 | |
sessioninfo::session_info() | |
#> ─ Session info ─────────────────────────────────────────────────────────────── | |
#> setting value | |
#> version R version 4.0.3 (2020-10-10) | |
#> os macOS Catalina 10.15.7 | |
#> system x86_64, darwin17.0 | |
#> ui X11 | |
#> language (EN) | |
#> collate en_US.UTF-8 | |
#> ctype en_US.UTF-8 | |
#> tz America/Los_Angeles | |
#> date 2020-12-18 | |
#> | |
#> ─ Packages ─────────────────────────────────────────────────────────────────── | |
#> package * version date lib source | |
#> assertthat 0.2.1 2019-03-21 [2] CRAN (R 4.0.2) | |
#> cli 2.0.2 2020-02-28 [2] CRAN (R 4.0.2) | |
#> crayon 1.3.4 2017-09-16 [2] CRAN (R 4.0.2) | |
#> digest 0.6.27 2020-10-24 [1] CRAN (R 4.0.2) | |
#> dplyr * 1.0.2 2020-08-18 [1] CRAN (R 4.0.2) | |
#> ellipsis 0.3.1 2020-05-15 [2] CRAN (R 4.0.2) | |
#> evaluate 0.14 2019-05-28 [1] CRAN (R 4.0.1) | |
#> fansi 0.4.1 2020-01-08 [2] CRAN (R 4.0.2) | |
#> generics 0.0.2 2018-11-29 [1] CRAN (R 4.0.2) | |
#> glue 1.4.2 2020-08-27 [2] CRAN (R 4.0.2) | |
#> highr 0.8 2019-03-20 [1] CRAN (R 4.0.2) | |
#> htmltools 0.5.0 2020-06-16 [1] CRAN (R 4.0.2) | |
#> knitr 1.30 2020-09-22 [1] CRAN (R 4.0.2) | |
#> lifecycle 0.2.0 2020-03-06 [2] CRAN (R 4.0.2) | |
#> magrittr 1.5 2014-11-22 [2] CRAN (R 4.0.2) | |
#> pillar 1.4.6 2020-07-10 [2] CRAN (R 4.0.2) | |
#> pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.0.2) | |
#> purrr 0.3.4 2020-04-17 [2] CRAN (R 4.0.2) | |
#> R6 2.5.0 2020-10-28 [1] CRAN (R 4.0.2) | |
#> rlang * 0.4.8 2020-10-08 [2] CRAN (R 4.0.2) | |
#> rmarkdown 2.5 2020-10-21 [1] CRAN (R 4.0.2) | |
#> sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 4.0.2) | |
#> stringi 1.5.3 2020-09-09 [1] CRAN (R 4.0.2) | |
#> stringr 1.4.0 2019-02-10 [1] CRAN (R 4.0.2) | |
#> tibble 3.0.3 2020-07-10 [2] CRAN (R 4.0.2) | |
#> tidyselect 1.1.0 2020-05-11 [1] CRAN (R 4.0.2) | |
#> utf8 1.1.4 2018-05-24 [2] CRAN (R 4.0.2) | |
#> vctrs 0.3.4 2020-08-29 [2] CRAN (R 4.0.2) | |
#> withr 2.3.0 2020-09-22 [2] CRAN (R 4.0.2) | |
#> xfun 0.19 2020-10-30 [1] CRAN (R 4.0.2) | |
#> yaml 2.2.1 2020-02-01 [2] CRAN (R 4.0.2) | |
#> | |
#> [1] /Users/tlittlef/Library/R/4.0/library | |
#> [2] /Library/Frameworks/R.framework/Versions/4.0/Resources/library |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment