bookclub-advr

DSLC Advanced R Book Club
git clone https://git.eamoncaddigan.net/bookclub-advr.git
Log | Files | Refs | README | LICENSE

commit 0f9984a9209df2a6f694da310ab5afdc0ab50e76
parent 6cb4390eba13749debb57a7def53362d52ed8ff9
Author: Steffi LaZerte <steffi@steffi.ca>
Date:   Fri, 27 Sep 2024 12:24:43 -0500

Add extra examples we went through during the meeting (#72)


Diffstat:
M17_Big_picture.Rmd | 45++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/17_Big_picture.Rmd b/17_Big_picture.Rmd @@ -140,7 +140,7 @@ string_math(("dslc" + "is" + "awesome---") * cohort) ``` -## Customizing evaluation wtih data +## Customizing evaluation with data - Look for variables inside data frame - **Data mask** - typically a data frame @@ -199,6 +199,49 @@ with2(df, x + a) This comes back in Chapter 20. +### Which environment is bundled? +- The environment where the expression is created (i.e. the parent of where + `enquo()` is called) + +Here, the global environment + +```{r} +with2 <- function(df, expr) { + a <- 1000 + eq <- enquo(expr) + message("with2() Parent/Calling environment: ") + print(rlang::caller_env()) + message("with2() environment: ") + print(rlang::current_env()) + message("Quosure details: ") + print(eq) # Print the details of the quosure + eval_tidy(eq, df) +} + +a <- 10000 +df <- data.frame(x = 1:3) +with2(df, x + a) +``` + + +Here, the `fun1()` environment +```{r} +fun1 <- function(df) { + a <- 10 + message("fun1() Parent/Calling environment: ") + print(rlang::caller_env()) + message("fun1() environment: ") + print(rlang::current_env()) + with2(df, x + a) +} + +a <- 10000 +df <- data.frame(x = 1:3) +fun1(df) +``` + + + ## Meeting Videos