When I run the default skimr command in the console on a linux RStudio server I get the following partial output and error:
library(skimr)
skim(iris)
── Data Summary ────────────────────────
Values
Name iris
Number of rows 150
Number of columns 5
Column type frequency:
factor 1
numeric 4
Group variables None
Error in check_dots_used(action = warn) : unused argument (action = warn)
However, the same code will run just fine when I knit it in an RMarkdown document.
The same code will also run fine on my Mac OSX laptop instance of RStudio, both in the console and an RMarkdown document.
I can assign the output of the skimr command and View the assigned output object just fine on the server instance:
out <- skim(iris)
View(out)
class(out)
1 "skim_df" "tbl_df" "tbl" "data.frame"
but print(out) generates the same error again
Here’s the sessionInfo.
sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so
locale:
1 LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
1 stats graphics grDevices utils datasets methods base
other attached packages:
1 skimr_2.1.2
loaded via a namespace (and not attached):
1 Rcpp_1.0.2 rstudioapi_0.13 knitr_1.31 magrittr_1.5 tidyselect_1.1.0 R6_2.3.0 rlang_0.4.10 fansi_0.4.0 stringr_1.4.0
[10] dplyr_1.0.4 tools_3.5.1 xfun_0.20 utf8_1.1.4 cli_2.3.0 DBI_1.0.0 withr_2.4.1 htmltools_0.3.6 ellipsis_0.2.0.1
[19] yaml_2.2.0 rprojroot_1.3-2 assertthat_0.2.0 digest_0.6.18 tibble_3.0.6 lifecycle_0.2.0 crayon_1.3.4 tidyr_1.1.2 purrr_0.3.4
[28] repr_1.1.3 base64enc_0.1-3 vctrs_0.3.6 evaluate_0.12 glue_1.4.2 rmarkdown_1.10 stringi_1.2.4 compiler_3.5.1 pillar_1.4.7
[37] backports_1.1.2 generics_0.1.0 jsonlite_1.6 pkgconfig_2.0.2
2
Answers
You need to use
options(skimr_strip_metadata = FALSE)
. It’s due to something related to the {pilar} package.https://github.com/ropensci/skimr/issues/641
Also please update the ellipsis package. See this answer.
Basic dyplr functions give an error: "check_dots_used"
I don’t know why doing it in rmarkdown would work when the console doesn’t, unless somehow a different version of the package is loading.
I used to have a similar situation where skim_without_chart will return an error could not find function "skim_without_charts".
The solution I used is to first call skimr before calling skimm_without_charts like skimr::skim_without_charts(penguins)
That solves the problem for me.