Skip to content

Instantly share code, notes, and snippets.

@njtierney
Created May 7, 2024 04:16
Show Gist options
  • Save njtierney/5bf1f535eb5863a4a15ed17d95970bc9 to your computer and use it in GitHub Desktop.
Save njtierney/5bf1f535eb5863a4a15ed17d95970bc9 to your computer and use it in GitHub Desktop.
# blog post?

my_mean <- function(x, ...) mean(x, na.rm = TRUE, ...)

vec <- c(1:5, NA, 5:1)

my_mean(vec)
#> [1] 3
my_mean(vec, na.rm = TRUE)
#> Error in mean.default(x, na.rm = TRUE, ...): formal argument "na.rm" matched by multiple actual arguments
mean(vec, na.rm = TRUE, na.rm = TRUE)
#> Error in mean.default(vec, na.rm = TRUE, na.rm = TRUE): formal argument "na.rm" matched by multiple actual arguments
mean(vec, na.rm = FALSE, na.rm = TRUE)
#> Error in mean.default(vec, na.rm = FALSE, na.rm = TRUE): formal argument "na.rm" matched by multiple actual arguments
mean(vec, na.rm = TRUE, na.rm = FALSE)
#> Error in mean.default(vec, na.rm = TRUE, na.rm = FALSE): formal argument "na.rm" matched by multiple actual arguments
mean(vec, na.rm = FALSE, na.rm = FALSE)
#> Error in mean.default(vec, na.rm = FALSE, na.rm = FALSE): formal argument "na.rm" matched by multiple actual arguments

my_mean2 <- function(x, na.rm = TRUE, ...) mean(x, na.rm = na.rm, ...)

my_mean2(vec)
#> [1] 3
my_mean2(vec, na.rm = TRUE)
#> [1] 3

Created on 2024-05-07 with reprex v2.1.0

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.4.0 (2024-04-24)
#>  os       macOS Sonoma 14.3.1
#>  system   aarch64, darwin20
#>  ui       X11
#>  language (EN)
#>  collate  en_US.UTF-8
#>  ctype    en_US.UTF-8
#>  tz       Australia/Brisbane
#>  date     2024-05-07
#>  pandoc   3.1.1 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package     * version date (UTC) lib source
#>  cli           3.6.2   2023-12-11 [1] CRAN (R 4.4.0)
#>  digest        0.6.35  2024-03-11 [1] CRAN (R 4.4.0)
#>  evaluate      0.23    2023-11-01 [1] CRAN (R 4.4.0)
#>  fastmap       1.1.1   2023-02-24 [1] CRAN (R 4.4.0)
#>  fs            1.6.4   2024-04-25 [1] CRAN (R 4.4.0)
#>  glue          1.7.0   2024-01-09 [1] CRAN (R 4.4.0)
#>  htmltools     0.5.8.1 2024-04-04 [1] CRAN (R 4.4.0)
#>  knitr         1.46    2024-04-06 [1] CRAN (R 4.4.0)
#>  lifecycle     1.0.4   2023-11-07 [1] CRAN (R 4.4.0)
#>  magrittr      2.0.3   2022-03-30 [1] CRAN (R 4.4.0)
#>  purrr         1.0.2   2023-08-10 [1] CRAN (R 4.4.0)
#>  R.cache       0.16.0  2022-07-21 [1] CRAN (R 4.4.0)
#>  R.methodsS3   1.8.2   2022-06-13 [1] CRAN (R 4.4.0)
#>  R.oo          1.26.0  2024-01-24 [1] CRAN (R 4.4.0)
#>  R.utils       2.12.3  2023-11-18 [1] CRAN (R 4.4.0)
#>  reprex        2.1.0   2024-01-11 [1] CRAN (R 4.4.0)
#>  rlang         1.1.3   2024-01-10 [1] CRAN (R 4.4.0)
#>  rmarkdown     2.26    2024-03-05 [1] CRAN (R 4.4.0)
#>  rstudioapi    0.16.0  2024-03-24 [1] CRAN (R 4.4.0)
#>  sessioninfo   1.2.2   2021-12-06 [1] CRAN (R 4.4.0)
#>  styler        1.10.3  2024-04-07 [1] CRAN (R 4.4.0)
#>  vctrs         0.6.5   2023-12-01 [1] CRAN (R 4.4.0)
#>  withr         3.0.0   2024-01-16 [1] CRAN (R 4.4.0)
#>  xfun          0.43    2024-03-25 [1] CRAN (R 4.4.0)
#>  yaml          2.3.8   2023-12-11 [1] CRAN (R 4.4.0)
#> 
#>  [1] /Users/nick/Library/R/arm64/4.4/library
#>  [2] /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library
#> 
#> ──────────────────────────────────────────────────────────────────────────────
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment