ropensci / software-review

rOpenSci Software Peer Review.
291 stars 104 forks source link

fwildclusterboot submission #546

Open s3alfisc opened 2 years ago

s3alfisc commented 2 years ago

Submitting Author Name: Alexander Fischer Submitting Author Github Handle: !--author1-->@s3alfisc<!--end-author1-- Other Package Authors Github handles: (comma separated, delete if none) @droodman Repository: https://github.com/s3alfisc/fwildclusterboot/tree/master Version submitted: 0.9.1 (in ropensci branch) Submission type: Stats Badge grade: silver Editor: !--editor-->@helske<!--end-editor-- Reviewers: @meghapsimatrix, @markean

Due date for @meghapsimatrix: 2023-04-17 Due date for @markean: 2023-05-29

Archive: TBD Version accepted: TBD Language: en

Package: fwildclusterboot
Title: Fast Wild Cluster Bootstrap Inference for Linear Models
Version: 0.13.2
Authors@R: c(
    person("Alexander", "Fischer", , "alexander-fischer1801@t-online.de", role = c("aut", "cre")),
    person("David", "Roodman", role = "aut"),
    person("Achim", "Zeileis", role = "ctb",
           comment = "Author of included sandwich fragments"),
    person("Nathaniel", "Graham", role = "ctb",
           comment = "Contributor to included sandwich fragments"),
    person("Susanne", "Koell", role = "ctb",
           comment = "Contributor to included sandwich fragments"),
    person("Laurent", "Berge", role = "ctb",
           comment = "Author of included fixest fragments"),
    person("Sebastian", "Krantz", role = "ctb")
  )
Description: Implementation of fast algorithms for wild cluster bootstrap
    inference developed in 'Roodman et al' (2019, 'STATA' Journal,
    <doi:10.1177/1536867X19830877>) and 'MacKinnon et al' (2022), which
    makes it feasible to quickly calculate bootstrap test statistics based
    on a large number of bootstrap draws even for large samples.  Multiple
    bootstrap types as described in 'MacKinnon, Nielsen & Webb' (2022) are
    supported.  Further, 'multiway' clustering, regression weights,
    bootstrap weights, fixed effects and 'subcluster' bootstrapping are
    supported. Further, both restricted ('WCR') and unrestricted ('WCU')
    bootstrap are supported. Methods are provided for a variety of fitted
    models, including 'lm()', 'feols()' (from package 'fixest') and
    'felm()' (from package 'lfe').  Additionally implements a
    'heteroskedasticity-robust' ('HC1') wild bootstrap.  Last, the package
    provides an R binding to 'WildBootTests.jl', which provides additional
    speed gains and functionality, including the 'WRE' bootstrap for
    instrumental variable models (based on models of type 'ivreg()' from
    package 'ivreg') and hypotheses with q > 1.
License: GPL-3
URL: https://s3alfisc.github.io/fwildclusterboot/
BugReports: https://github.com/s3alfisc/fwildclusterboot/issues/
Imports:
    collapse,
    dqrng,
    dreamerr,
    Formula,
    generics,
    gtools,
    JuliaConnectoR,
    MASS,
    Matrix,
    Rcpp,
    rlang,
    summclust
Suggests:
    bench,
    broom,
    clubSandwich,
    covr,
    data.table,
    fabricatr,
    fixest,
    gt,
    ivreg,
    knitr,
    lfe,
    lmtest,
    modelsummary,
    rmarkdown,
    sandwich,
    testthat (>= 3.0.0),
    tibble
LinkingTo:
    Rcpp,
    RcppArmadillo,
    RcppEigen
VignetteBuilder:
    knitr
Config/testthat/edition: 3
Encoding: UTF-8
Language: en-US
LazyData: true
Roxygen: list(markdown = TRUE, roclets = c ("namespace", "rd",
    "srr::srr_stats_roclet"))
RoxygenNote: 7.2.1
SystemRequirements: Version Requirements to run the wild bootstrap through
    Julia - Julia (>= 1.8), WildBootTests.jl (>=0.9).  Julia is
    downloadable via the official Julia website
    (https://julialang.org/downloads/), WildBootTests.jl via Julia's
    package manager (https://docs.julialang.org/en/v1/stdlib/Pkg/) or its
    github repository (https://github.com/droodman/WildBootTests.jl)

Pre-submission Inquiry

General Information

fwildclusterboot is the first R-implementation of the 'fast' wild cluster bootstrap algorithm outlined in Roodman et al (2019, Stata Journal) and implemented in Stata via the boottest package. Recently, @droodman has also ported the algorithm to Julia. Besides implementing the "fast & wild" algorithm in native R, fwildclusterboot also allows to call WildBootTests.jl via the JuliaConnectoR package. The "fast" algorithm is significantly faster than any other R-implementations of the wild cluster bootstrap to date (e.g. see here).

Yes.

Badging

At a minimal level, I strive for a silver badge.

Technical checks

Confirm each of the following by checking the box.

pkgcheck::pkgcheck() currently fails on my machine with the following error message: "Error in normalizePath(path.expand(path), winslash, mustWork).: path[1]="C:/.../fwildclusterboot/NA" The system cannot find the specified file. It also fails on github-actions on the ropensci branch.

Also, note that the CMD checks currently fail on github actions as the gtools package has been orphaned - I am monitoring the situation, but it looks like the package will not be removed from CRAN.

This package:

Publication options

Code of conduct

ropensci-review-bot commented 2 years ago

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

ropensci-review-bot commented 2 years ago

Error (500). The editorcheck service is currently unavailable

emilyriederer commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

Error (500). The editorcheck service is currently unavailable

s3alfisc commented 2 years ago

Hi @emilyriederer, is it possible that the editor check bot fails because I have submitted the package via a side-branch? @mpadge mentioned in the pre-submission that some of the automated tools might fail in this case, but suggested to nevertheless submit via a non default branch for testing purposes.

emilyriederer commented 2 years ago

Looks like @mpadge beat me to this but it appears we have our answer. Marc, I assume we shall wait to proceed until this issue is closed? Thanks!

mpadge commented 2 years ago

Thanks @emilyriederer, because of this submission we now have an ability to process packages with non-default review branches. You (or indeed @s3alfisc) may call check package at any time. (But I've noted to @s3alfisc elsewhere that R CMD check currently fails on his package because our check systems don't have Julia installed.)

s3alfisc commented 2 years ago

Thanks @mpadge - it looks like I have some work to do :) I will trigger check page once I believe I have managed to align the package with all pkgcheck requirements!

s3alfisc commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 2 years ago

Checks for fwildclusterboot (v0.10)

git hash: 274030f8

Important: All failing checks above must be addressed prior to proceeding

Package License: GPL-3


1. rOpenSci Statistical Standards (srr package)

This package is in the following category:

:heavy_check_mark: All applicable standards [v0.1.0] have been documented in this package (70 complied with; 46 N/A standards)

Click to see the report of author-reported standards compliance of the package with links to associated lines of code, which can be re-generated locally by running the srr_report() function from within a local clone of the repository.


2. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate. |type |package | ncalls| |:----------|:----------------|------:| |internal |base | 385| |internal |fwildclusterboot | 104| |internal |stats | 80| |internal |utils | 8| |internal |graphics | 3| |internal |compiler | 1| |imports |collapse | 14| |imports |dreamerr | 10| |imports |generics | 5| |imports |dqrng | 5| |imports |Matrix | 3| |imports |Matrix.utils | 3| |imports |JuliaConnectoR | 1| |imports |Formula | NA| |imports |Rcpp | NA| |suggests |fabricatr | 6| |suggests |fixest | NA| |suggests |lfe | NA| |suggests |ivreg | NA| |suggests |clubSandwich | NA| |suggests |sandwich | NA| |suggests |lmtest | NA| |suggests |data.table | NA| |suggests |covr | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |broom | NA| |suggests |modelsummary | NA| |suggests |bench | NA| |suggests |testthat | NA| |suggests |tibble | NA| |linking_to |Rcpp | NA| |linking_to |RcppArmadillo | NA| |linking_to |RcppEigen | NA| Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats()', and examining the 'external_calls' table.

base

length (36), call (31), list (28), c (16), lapply (13), vapply (13), as.vector (11), names (11), t (11), drop (10), stop (10), unique (10), rep (9), ifelse (8), paste0 (8), data.frame (7), match.call (7), which (7), as.matrix (6), ncol (6), nrow (6), replace (6), sqrt (6), mode (5), seq_along (5), vector (5), as.numeric (4), for (4), is.null (4), mean (4), Reduce (4), sample (4), sum (4), switch (4), tcrossprod (4), abs (3), col (3), colnames (3), environment (3), q (3), as.integer (2), attr (2), crossprod (2), getOption (2), if (2), loadedNamespaces (2), min (2), norm (2), paste (2), Recall (2), solve (2), suppressWarnings (2), append (1), as.character (1), as.factor (1), cbind (1), class (1), do.call (1), exp (1), integer (1), is.na (1), is.numeric (1), logical (1), max (1), message (1), sample.int (1), seq (1), sort (1), Sys.getenv (1), try (1), unlist (1)

fwildclusterboot

get_ssc_julia (8), check_set_full_enumeration (7), set_seed (7), teststat (6), boot_algo_julia (5), crosstab (4), get_cluster (4), model_matrix (4), boot_algo2 (3), cpp_get_nb_threads (3), eigenMapMatMult (3), get_bootstrap_pvalue (3), get_ssc (3), demean_fe (2), gtools_permutations (2), preprocess2.felm (2), preprocess2.fixest (2), preprocess2.lm (2), transform_fe (2), boottest (1), boottest.felm (1), boottest.fixest (1), boottest.ivreg (1), boottest.lm (1), check_boottest_args_plus (1), check_mboottest_args_plus (1), check_params_in_model (1), check_r_lean (1), check_set_nthreads (1), confint.boottest (1), crosstab4 (1), get_seed (1), get_start_vals (1), getBoottest_boot_algo (1), getBoottest_nthreads (1), glance.boottest (1), invert_p_val (1), mboottest (1), mboottest.felm (1), mboottest.fixest (1), mboottest.lm (1), model_matrix.felm (1), model_matrix.lm (1), nobs.boottest (1), nobs.mboottest (1), p_val_null2 (1), p_val_null2_x (1), p_val_null2_x_sign_level (1), preprocess2.ivreg (1), to_integer (1), wildboottestHC (1)

stats

weights (24), model.matrix (12), formula (8), coef (6), na.omit (6), model.frame (5), nobs (4), aggregate (3), model.response (3), na.exclude (3), reformulate (2), na.action (1), na.pass (1), rlnorm (1), update (1)

collapse

fsum (7), GRP (4), qF (3)

dreamerr

validate_dots (10)

utils

data (7), combn (1)

fabricatr

draw_binary (2), draw_normal_icc (2), draw_ordered (1), fabricate (1)

dqrng

dqsample (4), dqset.seed (1)

generics

tidy (4), glance (1)

graphics

abline (3)

Matrix

t (2), Diagonal (1)

Matrix.utils

aggregate.Matrix (3)

compiler

cmpfun (1)

JuliaConnectoR

juliaImport (1)

**NOTE:** Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


3. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in C++ (8% in 2 files) and R (92% in 28 files) - 2 authors - 2 vignettes - 1 internal data file - 9 imported packages - 33 exported functions (median 8 lines of code) - 121 non-exported functions in R (median 26 lines of code) - 13 R functions (median 17 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by [the `checks_to_markdown()` function](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:------------------------|-----:|----------:|:----------| |files_R | 28| 88.2| | |files_src | 2| 79.1| | |files_vignettes | 2| 85.7| | |files_tests | 17| 95.3| | |loc_R | 3873| 93.2| | |loc_src | 325| 37.1| | |loc_vignettes | 436| 74.7| | |loc_tests | 5291| 98.3|TRUE | |num_vignettes | 2| 89.2| | |data_size_total | 14024| 72.7| | |data_size_median | 14024| 81.0| | |n_fns_r | 154| 85.7| | |n_fns_r_exported | 33| 80.4| | |n_fns_r_not_exported | 121| 87.1| | |n_fns_src | 13| 35.0| | |n_fns_per_file_r | 3| 55.2| | |n_fns_per_file_src | 6| 61.3| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 23| 66.0| | |loc_per_fn_r_exp | 8| 16.3| | |loc_per_fn_r_not_exp | 26| 73.5| | |loc_per_fn_src | 17| 59.6| | |rel_whitespace_R | 18| 92.7| | |rel_whitespace_src | 30| 48.8| | |rel_whitespace_vignettes | 43| 83.2| | |rel_whitespace_tests | 11| 96.1|TRUE | |doclines_per_fn_exp | 29| 31.0| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 132| 83.4| | ---

3a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


4. goodpractice and other checks

Details of goodpractice checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/s3alfisc/fwildclusterboot/workflows/R-CMD-check/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2828472276|pages build and deployment |success |b71a32 | 155|2022-08-09 | | 2827237407|pkgcheck |failure |274030 | 24|2022-08-09 | | 2862000970|pkgdown |failure |85eba8 | 101|2022-08-15 | | 2862000975|R-CMD-check |failure |85eba8 | 458|2022-08-15 | | 2862000968|test-coverage |failure |85eba8 | 435|2022-08-15 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following error: 1. checking tests ... Running ‘testthat.R’ ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: ▆ 1. ├─fwildclusterboot::boottest(...) at test_fixest_sugar.R:44:2 2. └─fwildclusterboot:::boottest.fixest(...) 3. └─fwildclusterboot:::preprocess2.fixest(...) 4. └─fwildclusterboot:::get_cluster(...) 5. ├─stats::model.frame(clustid_fml, cluster_tmp, na.action = na.pass) 6. └─stats::model.frame.default(clustid_fml, cluster_tmp, na.action = na.pass) 7. ├─base::as.data.frame(data) 8. └─base::as.data.frame.default(data) ── Error (test_multicollinearity.R:16:3): test multicollinearity ─────────────── Error in `feols(Y ~ X1 + X2, data = data)`: could not find function "feols" [ FAIL 2 | WARN 4 | SKIP 15 | PASS 59 ] Error: Test failures Execution halted R CMD check generated the following notes: 1. checking installed package size ... NOTE installed size is 7.0Mb sub-directories of 1Mb or more: libs 5.9Mb 2. checking R code for possible problems ... NOTE mboottest.lm: no visible binding for global variable ‘teststat_boot’ Undefined global functions or variables: teststat_boot R CMD check generated the following test_fail: 1. > library(testthat) > library(fwildclusterboot) > > test_check("fwildclusterboot") The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. Error in i(treatment, ideology1) : could not find function "i" test_tidy.R, q = 1 skipped as 'JULIA_BINDIR' not found. test_tidy.R, q > 1 skipped as 'JULIA_BINDIR' not found. Loading required namespace: data.table test-error_warning.R with q = 1 skipped as JULIA_BINDIR not found. test-error_warning.R with q > 1 skipped as JULIA_BINDIR not found. Loading required package: Matrix Error in post1 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | 0 | 0 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | Utility_state : operations are possible only for numeric, logical or complex types Error in post1 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | 0 | 0 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | Utility_state : operations are possible only for numeric, logical or complex types Error in post1 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | 0 | 0 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | Utility_state : operations are possible only for numeric, logical or complex types test-global_vars.R skipped as JULIA_BINDR not found. test-method_equivalence.R I skipped as JULIA_BINDR not found. test-method_equivalence.R II skipped as JULIA_BINDR not found. test-r-vs-julia.R skipped as JULIA_BINDIR not found. test-seed.R skipped as JULIA_BINDR not found. test-tstat_equivalence.R I skipped as JULIA_BINDR not found. test-tstat_equivalence.R II skipped as JULIA_BINDR not found. test-stat_equivalence.R III skipped as JULIA_BINDR not found. Error in Q1_immigration + Q2_defense : non-numeric argument to binary operator Error in Q1_immigration + Q2_defense : non-numeric argument to binary operator [ FAIL 2 | WARN 4 | SKIP 15 | PASS 59 ] ══ Skipped tests ═══════════════════════════════════════════════════════════════ • empty test (15) ══ Warnings ════════════════════════════════════════════════════════════════════ ── Warning (test-uncategorized.R:44:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:44:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:52:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:52:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:60:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:60:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:68:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:68:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error (test_fixest_sugar.R:44:3): test fixest formula sugar ───────────────── Error in `as.data.frame.default(data)`: cannot coerce class '"try-error"' to a data.frame Backtrace: ▆ 1. ├─fwildclusterboot::boottest(...) at test_fixest_sugar.R:44:2 2. └─fwildclusterboot:::boottest.fixest(...) 3. └─fwildclusterboot:::preprocess2.fixest(...) 4. └─fwildclusterboot:::get_cluster(...) 5. ├─stats::model.frame(clustid_fml, cluster_tmp, na.action = na.pass) 6. └─stats::model.frame.default(clustid_fml, cluster_tmp, na.action = na.pass) 7. ├─base::as.data.frame(data) 8. └─base::as.data.frame.default(data) ── Error (test_multicollinearity.R:16:3): test multicollinearity ─────────────── Error in `feols(Y ~ X1 + X2, data = data)`: could not find function "feols" [ FAIL 2 | WARN 4 | SKIP 15 | PASS 59 ] Error: Test failures Execution halted R CMD check generated the following check_fails: 1. rcmdcheck_undefined_globals 2. rcmdcheck_tests_pass 3. rcmdcheck_reasonable_installed_size #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- get_cluster | 45 gtools_permutations | 34 boot_algo_julia | 20 boot_algo2 | 17 getBoottest_nthreads | 16 check_boottest_args_plus | 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 35 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 12 Lines should not be more than 80 characters. | 23


5. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following 2 function names are duplicated in other packages: - - `model_matrix` from bayesbr, hardhat, mcmcsae, modelr, ZIprop - - `pval` from CIPerm, dostats, dostats, GUIDE, learnstats, molic, mosaic, overlapptest, RPtests, timereg


Package Versions

|package |version | |:--------|:---------| |pkgstats |0.1.1.20 | |pkgcheck |0.1.0.3 | |srr |0.0.1.176 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

s3alfisc commented 2 years ago

Hi, I wanted to give some feedback on the state of the package:

s3alfisc commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 2 years ago

Checks for fwildclusterboot (v0.11)

git hash: 00c38b8d

Important: All failing checks above must be addressed prior to proceeding

Package License: GPL-3


1. rOpenSci Statistical Standards (srr package)

This package is in the following category:

:heavy_check_mark: All applicable standards [v0.1.0] have been documented in this package (70 complied with; 46 N/A standards)

Click to see the report of author-reported standards compliance of the package with links to associated lines of code, which can be re-generated locally by running the srr_report() function from within a local clone of the repository.


2. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate. |type |package | ncalls| |:----------|:----------------|------:| |internal |base | 441| |internal |fwildclusterboot | 113| |internal |stats | 83| |internal |utils | 8| |internal |graphics | 3| |internal |compiler | 1| |imports |collapse | 14| |imports |dreamerr | 10| |imports |generics | 5| |imports |dqrng | 5| |imports |MASS | 4| |imports |Matrix | 3| |imports |Matrix.utils | 3| |imports |JuliaConnectoR | 1| |imports |summclust | 1| |imports |sandwich | 1| |imports |Formula | NA| |imports |Rcpp | NA| |suggests |fabricatr | 6| |suggests |fixest | NA| |suggests |lfe | NA| |suggests |ivreg | NA| |suggests |clubSandwich | NA| |suggests |lmtest | NA| |suggests |data.table | NA| |suggests |covr | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |broom | NA| |suggests |modelsummary | NA| |suggests |bench | NA| |suggests |testthat | NA| |suggests |tibble | NA| |linking_to |Rcpp | NA| |linking_to |RcppArmadillo | NA| |linking_to |RcppEigen | NA| Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats()', and examining the 'external_calls' table.

base

length (40), call (31), list (30), lapply (20), c (16), t (15), vapply (13), as.vector (12), drop (12), names (12), unique (12), stop (10), ifelse (9), Reduce (9), rep (9), paste0 (8), which (8), data.frame (7), match.call (7), mode (7), nrow (7), sqrt (7), vector (7), as.matrix (6), for (6), ncol (6), replace (6), switch (6), seq_along (5), as.numeric (4), crossprod (4), is.null (4), mean (4), sample (4), solve (4), sum (4), tcrossprod (4), abs (3), col (3), colnames (3), environment (3), q (3), as.factor (2), as.integer (2), attr (2), dim (2), getOption (2), if (2), loadedNamespaces (2), matrix (2), min (2), norm (2), paste (2), Recall (2), split (2), suppressWarnings (2), append (1), as.character (1), cbind (1), class (1), colSums (1), diag (1), do.call (1), eval (1), exp (1), integer (1), is.na (1), is.numeric (1), logical (1), max (1), message (1), row (1), sample.int (1), seq (1), sort (1), Sys.getenv (1), try (1), tryCatch (1), unlist (1)

fwildclusterboot

get_ssc_julia (8), check_set_full_enumeration (7), set_seed (7), teststat (6), boot_algo_julia (5), crosstab (4), get_bootstrap_pvalue (4), get_cluster (4), model_matrix (4), boot_algo2 (3), cpp_get_nb_threads (3), eigenMapMatMult (3), get_ssc (3), get_weights (3), matrix_split (3), demean_fe (2), get_scores (2), gtools_permutations (2), preprocess2.felm (2), preprocess2.fixest (2), preprocess2.lm (2), transform_fe (2), boot_algo3 (1), boottest (1), boottest.felm (1), boottest.fixest (1), boottest.ivreg (1), boottest.lm (1), check_boot_algo3 (1), check_boottest_args_plus (1), check_mboottest_args_plus (1), check_params_in_model (1), check_r_lean (1), check_set_nthreads (1), confint.boottest (1), crosstab4 (1), get_seed (1), get_start_vals (1), getBoottest_boot_algo (1), getBoottest_nthreads (1), glance.boottest (1), invert_p_val (1), is_juliaconnector_prepared (1), mboottest (1), mboottest.felm (1), mboottest.fixest (1), mboottest.lm (1), model_matrix.felm (1), p_val_null2 (1), p_val_null2_x (1), p_val_null2_x_sign_level (1), preprocess2.ivreg (1), to_integer (1), wildboottestHC (1)

stats

weights (25), model.matrix (12), formula (8), coef (6), na.omit (6), model.frame (5), nobs (4), aggregate (3), model.response (3), na.exclude (3), reformulate (2), vcov (2), na.action (1), na.pass (1), rlnorm (1), update (1)

collapse

fsum (7), GRP (4), qF (3)

dreamerr

validate_dots (10)

utils

data (7), combn (1)

fabricatr

draw_binary (2), draw_normal_icc (2), draw_ordered (1), fabricate (1)

dqrng

dqsample (4), dqset.seed (1)

generics

tidy (4), glance (1)

MASS

ginv (4)

graphics

abline (3)

Matrix

t (2), Diagonal (1)

Matrix.utils

aggregate.Matrix (3)

compiler

cmpfun (1)

JuliaConnectoR

juliaImport (1)

sandwich

vcovCL (1)

summclust

vcov_CR3J (1)

**NOTE:** Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


3. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in C++ (7% in 3 files) and R (93% in 32 files) - 2 authors - 3 vignettes - 1 internal data file - 12 imported packages - 28 exported functions (median 9 lines of code) - 140 non-exported functions in R (median 24 lines of code) - 14 R functions (median 14 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by [the `checks_to_markdown()` function](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:------------------------|-----:|----------:|:----------| |files_R | 32| 90.5| | |files_src | 3| 84.3| | |files_vignettes | 3| 92.4| | |files_tests | 17| 95.3| | |loc_R | 4252| 94.1| | |loc_src | 341| 37.9| | |loc_vignettes | 496| 77.9| | |loc_tests | 5516| 98.5|TRUE | |num_vignettes | 3| 94.2| | |data_size_total | 14024| 72.7| | |data_size_median | 14024| 81.0| | |n_fns_r | 168| 87.0| | |n_fns_r_exported | 28| 76.4| | |n_fns_r_not_exported | 140| 89.2| | |n_fns_src | 14| 36.7| | |n_fns_per_file_r | 3| 53.1| | |n_fns_per_file_src | 5| 47.8| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 23| 66.0| | |loc_per_fn_r_exp | 9| 19.2| | |loc_per_fn_r_not_exp | 24| 70.4| | |loc_per_fn_src | 14| 46.6| | |rel_whitespace_R | 19| 94.1| | |rel_whitespace_src | 33| 52.2| | |rel_whitespace_vignettes | 41| 84.9| | |rel_whitespace_tests | 12| 96.6|TRUE | |doclines_per_fn_exp | 30| 32.9| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 141| 84.4| | ---

3a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


4. goodpractice and other checks

Details of goodpractice checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/s3alfisc/fwildclusterboot/workflows/R-CMD-check/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) [![pkgcheck](https://github.com/%3Corg%3E/%3Crepo%3E/workflows/pkgcheck/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2899111163|pages build and deployment |success |de3182 | 176|2022-08-21 | | 2921823435|pkgcheck |failure |00c38b | 41|2022-08-24 | | 2899087820|pkgdown |success |aba1d7 | 124|2022-08-21 | | 2921823433|R-CMD-check |success |00c38b | 484|2022-08-24 | | 2899015892|test-coverage |success |aba1d7 | 457|2022-08-21 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following error: 1. checking tests ... Running ‘testthat.R’ ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: 1. ├─fwildclusterboot::boottest(...) at test-new-bootstrap-variants.R:243:2 2. └─fwildclusterboot:::boottest.lm(...) 3. └─fwildclusterboot:::boot_algo_julia(...) 4. └─JuliaConnectoR::juliaEval("using WildBootTests") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() [ FAIL 1 | WARN 6 | SKIP 14 | PASS 75 ] Error: Test failures Execution halted R CMD check generated the following notes: 1. checking installed package size ... NOTE installed size is 7.5Mb sub-directories of 1Mb or more: libs 6.5Mb 2. checking R code for possible problems ... NOTE boot_algo3: no visible binding for '<<-' assignment to ‘beta_2g_tilde’ R CMD check generated the following test_fail: 1. > library(testthat) > library(fwildclusterboot) > > test_check("fwildclusterboot") Loading required namespace: fixest The variable 'X2' has been removed because of collinearity (see $collin.var). The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test_tidy.R, q = 1 skipped as 'JULIA_BINDIR' not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test_tidy.R, q > 1 skipped as 'JULIA_BINDIR' not found. Loading required namespace: data.table The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-error_warning.R with q = 1 skipped as JULIA_BINDIR not found. Loading required namespace: ivreg Loading required namespace: clubSandwich The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-error_warning.R with q > 1 skipped as JULIA_BINDIR not found. Error in post1 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | 0 | 0 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | Utility_state : operations are possible only for numeric, logical or complex types Error in post1 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | 0 | 0 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | Utility_state : operations are possible only for numeric, logical or complex types Error in post1 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | 0 | 0 | SEclusters : operations are possible only for numeric, logical or complex types Error in post1 | Utility_state : operations are possible only for numeric, logical or complex types The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-global_vars.R skipped as JULIA_BINDR not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-method_equivalence.R I skipped as JULIA_BINDR not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-method_equivalence.R II skipped as JULIA_BINDR not found. Starting Julia ... test-r-vs-julia.R skipped as JULIA_BINDIR not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-seed.R skipped as JULIA_BINDR not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-tstat_equivalence.R I skipped as JULIA_BINDR not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-tstat_equivalence.R II skipped as JULIA_BINDR not found. The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. test-stat_equivalence.R III skipped as JULIA_BINDR not found. Error in Q1_immigration + Q2_defense : non-numeric argument to binary operator Error in Q1_immigration + Q2_defense : non-numeric argument to binary operator [ FAIL 1 | WARN 6 | SKIP 14 | PASS 75 ] ══ Skipped tests ═══════════════════════════════════════════════════════════════ • empty test (14) ══ Warnings ════════════════════════════════════════════════════════════════════ ── Warning (test_multicollinearity.R:17:3): test multicollinearity ───────────── the matrix is either rank-deficient or indefinite Backtrace: 1. lfe::felm(Y ~ X1 + X2, data = data) at test_multicollinearity.R:17:2 2. lfe:::felm.mm(...) 3. lfe:::newols(...) 4. lfe:::cholx(cp) 6. base::chol.default(mat, pivot = TRUE, tol = tol) ── Warning (test-new-bootstrap-variants.R:243:3): variants 31 R vs Julia ─────── There are only 1024 unique draws from the rademacher distribution for 10 bootstrap clusters. Therefore, B = 1024 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 1024 bootstrap draws, only 2^(#clusters - 1) = 512 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-new-bootstrap-variants.R:243:2 2. fwildclusterboot:::boottest.lm(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:45:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:45:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:53:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:53:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:61:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:61:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:69:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:69:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error (test-new-bootstrap-variants.R:243:3): variants 31 R vs Julia ───────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package WildBootTests not found in current path. - Run `import Pkg; Pkg.add("WildBootTests")` to install the WildBootTests package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::boottest(...) at test-new-bootstrap-variants.R:243:2 2. └─fwildclusterboot:::boottest.lm(...) 3. └─fwildclusterboot:::boot_algo_julia(...) 4. └─JuliaConnectoR::juliaEval("using WildBootTests") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() [ FAIL 1 | WARN 6 | SKIP 14 | PASS 75 ] Error: Test failures Execution halted R CMD check generated the following check_fails: 1. rcmdcheck_tests_pass 2. rcmdcheck_reasonable_installed_size #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- get_cluster | 45 gtools_permutations | 34 boot_algo3 | 23 boot_algo_julia | 21 getBoottest_nthreads | 16 check_boottest_args_plus | 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 33 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 13 Lines should not be more than 80 characters. | 20


5. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages: - - `pval` from CIPerm, dostats, dostats, GUIDE, learnstats, molic, mosaic, overlapptest, RPtests, timereg


Package Versions

|package |version | |:--------|:---------| |pkgstats |0.1.1.20 | |pkgcheck |0.1.0.9 | |srr |0.0.1.178 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

s3alfisc commented 2 years ago

I just ran the pkgcheck action in my own repo, and - even though the pkgcheck still complained about my compliance with standards - it finished! This of course means that from now on, I will be able to test in my own repo and can stop polluting this space 😄

s3alfisc commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 2 years ago

Checks for fwildclusterboot (v0.11.2)

git hash: 94019e7e

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with :eyes: may be optionally addressed.)

Package License: GPL-3


1. rOpenSci Statistical Standards (srr package)

This package is in the following category:

:heavy_check_mark: All applicable standards [v0.1.0] have been documented in this package (70 complied with; 46 N/A standards)

Click to see the report of author-reported standards compliance of the package with links to associated lines of code, which can be re-generated locally by running the srr_report() function from within a local clone of the repository.


2. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate. |type |package | ncalls| |:----------|:----------------|------:| |internal |base | 516| |internal |fwildclusterboot | 128| |internal |stats | 84| |internal |utils | 9| |internal |graphics | 3| |internal |compiler | 1| |imports |collapse | 14| |imports |dreamerr | 10| |imports |generics | 5| |imports |dqrng | 5| |imports |MASS | 4| |imports |Matrix | 3| |imports |Matrix.utils | 3| |imports |JuliaConnectoR | 1| |imports |summclust | 1| |imports |sandwich | 1| |imports |Formula | NA| |imports |Rcpp | NA| |suggests |fabricatr | 6| |suggests |fixest | NA| |suggests |lfe | NA| |suggests |ivreg | NA| |suggests |clubSandwich | NA| |suggests |lmtest | NA| |suggests |data.table | NA| |suggests |covr | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |broom | NA| |suggests |modelsummary | NA| |suggests |bench | NA| |suggests |testthat | NA| |suggests |tibble | NA| |suggests |did2s | NA| |linking_to |Rcpp | NA| |linking_to |RcppArmadillo | NA| |linking_to |RcppEigen | NA| Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats()', and examining the 'external_calls' table.

base

length (44), list (34), call (31), c (22), lapply (22), names (18), t (15), unique (15), drop (13), vapply (13), as.vector (12), paste0 (12), data.frame (10), rep (10), stop (10), ifelse (9), mode (9), Reduce (9), vector (9), which (9), for (8), nrow (8), sqrt (8), match.call (7), as.matrix (6), ncol (6), replace (6), sum (6), switch (6), is.null (5), matrix (5), seq_along (5), as.numeric (4), crossprod (4), gsub (4), mean (4), sample (4), solve (4), tcrossprod (4), abs (3), col (3), colnames (3), colSums (3), environment (3), getOption (3), if (3), min (3), paste (3), q (3), unlist (3), as.factor (2), as.integer (2), attr (2), cbind (2), grepl (2), loadedNamespaces (2), max (2), norm (2), Recall (2), return (2), sign (2), split (2), sprintf (2), substr (2), suppressWarnings (2), Sys.getenv (2), append (1), as.character (1), class (1), diag (1), dim (1), do.call (1), eval (1), exp (1), integer (1), is.na (1), is.numeric (1), isTRUE (1), logical (1), message (1), nchar (1), row (1), sample.int (1), sapply (1), seq (1), sort (1), tryCatch (1)

fwildclusterboot

format_message (8), get_ssc_julia (8), check_set_full_enumeration (7), set_seed (7), teststat (6), boot_algo_julia (5), crosstab (4), get_bootstrap_pvalue (4), get_cluster (4), boot_algo2 (3), cpp_get_nb_threads (3), eigenMapMatMult (3), get_ssc (3), get_weights (3), model_matrix (3), process_R (3), boottest (2), demean_fe (2), get_scores (2), gtools_permutations (2), matrix_split (2), preprocess2.felm (2), preprocess2.fixest (2), preprocess2.lm (2), transform_fe (2), boot_aggregate (1), boot_algo3 (1), boot_algo3_crv1 (1), boot_algo3_crv3 (1), boottest.felm (1), boottest.fixest (1), boottest.ivreg (1), boottest.lm (1), check_boot_algo3 (1), check_boottest_args_plus (1), check_engine_btype (1), check_mboottest_args_plus (1), check_params_in_model (1), check_r_lean (1), check_set_nthreads (1), confint.boottest (1), crosstab4 (1), format_alert (1), format_error (1), format_warning (1), get_c_all_boot_cpp (1), get_se_all_boot_cpp (1), get_seed (1), get_start_vals (1), getBoottest_engine (1), getBoottest_nthreads (1), glance.boottest (1), invert_p_val (1), is_juliaconnector_prepared (1), manipulate_object (1), p_val_null2 (1), p_val_null2_x (1), p_val_null2_x_sign_level (1), preprocess2.ivreg (1), to_integer (1), wildboottestHC (1)

stats

weights (24), model.matrix (13), formula (8), coef (7), na.omit (6), model.frame (5), nobs (4), aggregate (3), model.response (3), na.exclude (3), reformulate (2), vcov (2), na.action (1), na.pass (1), rlnorm (1), update (1)

collapse

fsum (7), GRP (4), qF (3)

dreamerr

validate_dots (10)

utils

data (7), combn (1), txtProgressBar (1)

fabricatr

draw_binary (2), draw_normal_icc (2), draw_ordered (1), fabricate (1)

dqrng

dqsample (4), dqset.seed (1)

generics

tidy (4), glance (1)

MASS

ginv (4)

graphics

abline (3)

Matrix

t (2), Diagonal (1)

Matrix.utils

aggregate.Matrix (3)

compiler

cmpfun (1)

JuliaConnectoR

juliaImport (1)

sandwich

vcovCL (1)

summclust

vcov_CR3J (1)

**NOTE:** Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


3. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in C++ (10% in 4 files) and R (90% in 34 files) - 2 authors - 3 vignettes - 1 internal data file - 12 imported packages - 34 exported functions (median 9 lines of code) - 168 non-exported functions in R (median 20 lines of code) - 21 R functions (median 17 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by [the `checks_to_markdown()` function](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:------------------------|-----:|----------:|:----------| |files_R | 34| 91.4| | |files_src | 4| 87.0| | |files_vignettes | 3| 92.4| | |files_tests | 18| 95.7| | |loc_R | 4677| 94.8| | |loc_src | 500| 46.8| | |loc_vignettes | 586| 81.7| | |loc_tests | 5821| 98.6|TRUE | |num_vignettes | 3| 94.2| | |data_size_total | 14024| 72.7| | |data_size_median | 14024| 81.0| | |n_fns_r | 202| 89.9| | |n_fns_r_exported | 34| 81.0| | |n_fns_r_not_exported | 168| 91.5| | |n_fns_src | 21| 47.2| | |n_fns_per_file_r | 3| 55.2| | |n_fns_per_file_src | 5| 53.2| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 18| 54.7| | |loc_per_fn_r_exp | 9| 19.2| | |loc_per_fn_r_not_exp | 20| 63.0| | |loc_per_fn_src | 17| 59.6| | |rel_whitespace_R | 20| 95.3|TRUE | |rel_whitespace_src | 30| 58.7| | |rel_whitespace_vignettes | 35| 84.9| | |rel_whitespace_tests | 13| 97.2|TRUE | |doclines_per_fn_exp | 31| 34.8| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 181| 87.5| | ---

3a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


4. goodpractice and other checks

Details of goodpractice checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/s3alfisc/fwildclusterboot/workflows/R-CMD-check/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) [![pkgcheck](https://github.com/s3alfisc/fwildclusterboot/workflows/pkgcheck/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 3118455761|pages build and deployment |success |e98a12 | 189|2022-09-24 | | 3118431180|pkgcheck |NA |ee479f | 93|2022-09-24 | | 3118431181|pkgdown |success |ee479f | 138|2022-09-24 | | 3118431178|R-CMD-check |success |ee479f | 542|2022-09-24 | | 3118431179|test-coverage |success |ee479f | 478|2022-09-24 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following error: 1. checking tests ... Running ‘testthat.R’ ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: 4. ├─fwildclusterboot::boottest(...) 5. └─fwildclusterboot:::boottest.ivreg(...) 6. └─fwildclusterboot:::set_seed(...) 7. └─JuliaConnectoR::juliaEval("using StableRNGs") 8. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 9. ├─base::tryCatch(...) 10. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 11. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 12. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 13. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 14. └─JuliaConnectoR:::handleCallbacksAndOutput() [ FAIL 16 | WARN 11 | SKIP 0 | PASS 414 ] Error: Test failures Execution halted R CMD check generated the following warnings: 1. checking dependencies in R code ... WARNING '::' or ':::' import not declared from: ‘rstudioapi’ 'loadNamespace' or 'requireNamespace' call not declared from: ‘rstudioapi’ 2. checking S3 generic/method consistency ... WARNING tidy: function(x, ...) tidy.boottest: function(object, ...) tidy: function(x, ...) tidy.mboottest: function(object, ...) See section ‘Generic functions and methods’ in the ‘Writing R Extensions’ manual. R CMD check generated the following notes: 1. checking installed package size ... NOTE installed size is 8.8Mb sub-directories of 1Mb or more: libs 7.7Mb 2. checking R code for possible problems ... NOTE .wrap_message_line: no visible global function definition for ‘.bold’ .wrap_message_line: no visible global function definition for ‘.italic’ .wrap_message_line: no visible global function definition for ‘.blue’ Undefined global functions or variables: .blue .bold .italic R CMD check generated the following test_fail: 1. > library(testthat) > library(fwildclusterboot) > > test_check("fwildclusterboot") Loading required namespace: fixest The variable 'X2' has been removed because of collinearity (see $collin.var). Starting Julia ... Loading required namespace: data.table R Variables 'log_income::17.2069212919256:Q1_immigration::3' and 'log_income::18.0802367820713:Q1_immigration::3' have been removed because of collinearity (see $collin.var). NOTE: 2 fixed-effect singletons were removed (2 observations). WildBootTests.jl Loading required namespace: ivreg Part 1: Full enumeration Tests (deterministic) start ols/wls type: rademacher p-val: two-tailed null imposed: TRUE rademacher two-tailed TRUE type: rademacher p-val: equal-tailed null imposed: TRUE rademacher equal-tailed TRUE type: rademacher p-val: > null imposed: TRUE rademacher > TRUE type: rademacher p-val: < null imposed: TRUE rademacher < TRUE julia connector prepared? TRUEPart 1: Full enumeration Tests (deterministic) start ols/wls type: rademacher p-val: two-tailed null imposed: TRUE rademacher two-tailed TRUE Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). boottest() boottest() start ols/wls Part 1: Large B Tests start ols/wls type: rademacher p-val: two-tailed null imposed: TRUE rademacher two-tailed TRUE The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. julia connector prepared? TRUE The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. julia connector prepared? TRUE The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. julia connector prepared? TRUE [ FAIL 16 | WARN 11 | SKIP 0 | PASS 414 ] ══ Warnings ════════════════════════════════════════════════════════════════════ ── Warning (test_tidy.R:22:5): test tidiers with q = 1 ───────────────────────── There are only 1024 unique draws from the rademacher distribution for 10 bootstrap clusters. Therefore, B = 1024 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 1024 bootstrap draws, only 2^(#clusters - 1) = 512 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test_tidy.R:22:4 2. fwildclusterboot:::boottest.lm(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test_tidy.R:28:5): test tidiers with q = 1 ───────────────────────── There are only 1024 unique draws from the rademacher distribution for 10 bootstrap clusters. Therefore, B = 1024 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 1024 bootstrap draws, only 2^(#clusters - 1) = 512 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test_tidy.R:28:4 2. fwildclusterboot:::boottest.lm(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-error_warning.R:1208:9): errors and warnings q = 1 ──────────── Currently, boottest() calculates confidence intervals for one-sided hypotheses only for engine = 'WildBootTests.jl'. Backtrace: 1. testthat::expect_error(...) at test-error_warning.R:1208:8 8. fwildclusterboot:::boottest.fixest(...) 9. fwildclusterboot:::r_algo_checks(...) ── Warning (test-error_warning.R:1220:9): errors and warnings q = 1 ──────────── Currently, boottest() calculates confidence intervals for one-sided hypotheses only for engine = 'WildBootTests.jl'. Backtrace: 1. testthat::expect_error(...) at test-error_warning.R:1220:8 8. fwildclusterboot:::boottest.felm(...) 9. fwildclusterboot:::r_algo_checks(...) ── Warning (test-method_equivalence.R:135:5): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Negative eigenvalues set to zero in multiway clustered variance matrix. See felm(...,psdef=FALSE) Backtrace: 1. lfe::felm(...) at test-method_equivalence.R:135:4 2. lfe:::felm.mm(...) 3. lfe:::newols(...) ── Warning (test-method_equivalence.R:160:5): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Negative eigenvalues set to zero in multiway clustered variance matrix. See felm(...,psdef=FALSE) Backtrace: 1. lfe::felm(...) at test-method_equivalence.R:160:4 2. lfe:::felm.mm(...) 3. lfe:::newols(...) ── Warning (test-method_equivalence.R:167:5): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Negative eigenvalues set to zero in multiway clustered variance matrix. See felm(...,psdef=FALSE) Backtrace: 1. lfe::felm(...) at test-method_equivalence.R:167:4 2. lfe:::felm.mm(...) 3. lfe:::newols(...) ── Warning (test-uncategorized.R:45:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:45:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:53:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:53:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:61:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:61:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning (test-uncategorized.R:69:3): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:69:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error (test_tidy.R:35:5): test tidiers with q = 1 ─────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::boottest(...) at test_tidy.R:35:4 2. └─fwildclusterboot:::boottest.lm(...) 3. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 4. └─JuliaConnectoR::juliaEval("using StableRNGs") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test_tidy.R:82:3): test tidiers with q > 1 ─────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::mboottest(...) at test_tidy.R:82:2 2. └─fwildclusterboot:::mboottest.lm(...) 3. └─fwildclusterboot:::set_seed(...) 4. └─JuliaConnectoR::juliaEval("using StableRNGs") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Failure (test-error_warning.R:625:7): errors and warnings q = 1 ───────────── `boottest(...)` did not throw the expected message. ── Failure (test-error_warning.R:638:9): errors and warnings q = 1 ───────────── `boottest(...)` did not throw the expected message. ── Failure (test-error_warning.R:650:9): errors and warnings q = 1 ───────────── `boottest(...)` did not throw the expected message. ── Error (test-error_warning.R:246:9): errors and warnings q = 1 ─────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-error_warning.R:246:8 2. │ └─base::withCallingHandlers(...) 3. ├─testthat::expect_warning(...) 4. │ └─testthat:::expect_condition_matching(...) 5. │ └─testthat:::quasi_capture(...) 6. │ ├─testthat (local) .capture(...) 7. │ │ └─base::withCallingHandlers(...) 8. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 9. ├─fwildclusterboot::boottest(...) 10. └─fwildclusterboot:::boottest.lm(...) 11. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 12. └─JuliaConnectoR::juliaEval("using StableRNGs") 13. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 14. ├─base::tryCatch(...) 15. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 16. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 18. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 19. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-error_warning.R:1509:5): error warning IV/WRE and q > 1 ───────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─testthat::expect_warning(...) at test-error_warning.R:1509:4 2. │ └─testthat:::expect_condition_matching(...) 3. │ └─testthat:::quasi_capture(...) 4. │ ├─testthat (local) .capture(...) 5. │ │ └─base::withCallingHandlers(...) 6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 7. ├─base::suppressMessages(...) 8. │ └─base::withCallingHandlers(...) 9. ├─fwildclusterboot::boottest(...) 10. └─fwildclusterboot:::boottest.ivreg(...) 11. └─fwildclusterboot:::set_seed(...) 12. └─JuliaConnectoR::juliaEval("using StableRNGs") 13. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 14. ├─base::tryCatch(...) 15. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 16. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 18. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 19. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-full-enumeration.R:295:13): test full enumeration cases: r and julia ── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-full-enumeration.R:295:12 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-global_vars.R:18:5): global engine ────────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-global_vars.R:18:4 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-method_equivalence.R:1227:5): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. └─fwildclusterboot (local) create_models(clustid = "group_id1") at test-method_equivalence.R:1227:4 2. ├─base::assign(...) at test-method_equivalence.R:187:8 3. ├─base::suppressWarnings(...) 4. │ └─base::withCallingHandlers(...) 5. ├─fwildclusterboot::boottest(...) 6. └─fwildclusterboot:::boottest.lm(...) 7. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 8. └─JuliaConnectoR::juliaEval("using StableRNGs") 9. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 10. ├─base::tryCatch(...) 11. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 12. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 13. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 14. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 15. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-new-bootstrap-variants.R:271:5): variants 31 R vs Julia ───────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::boottest(...) at test-new-bootstrap-variants.R:271:4 2. └─fwildclusterboot:::boottest.lm(...) 3. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 4. └─JuliaConnectoR::juliaEval("using StableRNGs") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-r-vs-julia.R:86:15): test r against Julia I: stochastic tests ─── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-r-vs-julia.R:86:14 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-seed.R:31:7): seed works for OLS ──────────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressMessages(...) at test-seed.R:31:6 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-tstat_equivalence.R:428:19): t-stat equivalence OLS - WildBootTests ── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-tstat_equivalence.R:428:18 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-tstat_equivalence.R:882:5): t-stat equivalence OLS q > 1 ──────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. └─fwildclusterboot (local) wald_test(run_this_test = TRUE) at test-tstat_equivalence.R:882:4 2. ├─base::suppressWarnings(...) at test-tstat_equivalence.R:671:8 3. │ └─base::withCallingHandlers(...) 4. ├─fwildclusterboot::mboottest(...) 5. └─fwildclusterboot:::mboottest.lm(...) 6. └─fwildclusterboot:::set_seed(...) 7. └─JuliaConnectoR::juliaEval("using StableRNGs") 8. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 9. ├─base::tryCatch(...) 10. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 11. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 12. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 13. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 14. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error (test-tstat_equivalence.R:966:5): t-stat equivalence IV ─────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. └─fwildclusterboot (local) iv_test(run_this_test = TRUE) at test-tstat_equivalence.R:966:4 2. ├─base::suppressWarnings(...) at test-tstat_equivalence.R:931:8 3. │ └─base::withCallingHandlers(...) 4. ├─fwildclusterboot::boottest(...) 5. └─fwildclusterboot:::boottest.ivreg(...) 6. └─fwildclusterboot:::set_seed(...) 7. └─JuliaConnectoR::juliaEval("using StableRNGs") 8. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 9. ├─base::tryCatch(...) 10. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 11. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 12. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 13. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 14. └─JuliaConnectoR:::handleCallbacksAndOutput() [ FAIL 16 | WARN 11 | SKIP 0 | PASS 414 ] Error: Test failures Execution halted R CMD check generated the following check_fails: 1. rcmdcheck_undeclared_imports 2. rcmdcheck_undeclared_loadnamespace_requirenamespace 3. rcmdcheck_undefined_globals 4. rcmdcheck_tests_pass 5. rcmdcheck_reasonable_installed_size #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- get_cluster | 35 gtools_permutations | 34 boot_algo3 | 24 boot_aggregate | 22 boot_algo_julia | 21 getBoottest_nthreads | 16 boottest.fixest | 15 boottest.lm | 15 check_boottest_args_plus | 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 70 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 13 Avoid using sapply, consider vapply instead, that's type safe | 1 Lines should not be more than 80 characters. | 11 Use <-, not =, for assignment. | 45


5. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following 2 function names are duplicated in other packages: - - `format_message` from insight - - `pval` from CIPerm, dostats, dostats, GUIDE, learnstats, molic, mosaic, overlapptest, RPtests, timereg


Package Versions

|package |version | |:--------|:---------| |pkgstats |0.1.1.44 | |pkgcheck |0.1.0.24 | |srr |0.0.1.180 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

maurolepore commented 1 year ago

Dear @s3alfisc

Today starts my rotation as EiC and I'm reviewing the status of current open reviews.

Thanks a lot for your efforts in meeting our standards. Where are we standing now? Do you feel ready for me to resume the review process? The next step would be to re-run checks and then look for a handling editor.

s3alfisc commented 1 year ago

Hi @maurolepore - thanks for reaching out - I was actually about to do the same this weekend! Unfortunately, I never got the pkgcheck to run properly, neither on my local machine nor on github actions. But I have not really tried in a while (I had given up at some point) - so I'll try once again and if I cannot get it to run locally, is it ok if I trigger the workflow bot one more time? One complication is that I am running unit tests against WildBootTests.jl, and in order to run the pkgcheck workflows, I'd have to skip those tests, which would lead to a drop in test coverage to around 65%.

s3alfisc commented 1 year ago

Actually, pkgcheck is now running on my local machine - so I'll respond to it's feedback, update all standards based on a few new features, and will notify you once everything is done!

s3alfisc commented 1 year ago

I've run the pkgcheck action, with the following results:

I'll start the bot to confirm all of this later today & then you can decide if you think everything is good enough to proceed, @maurolepore ?

s3alfisc commented 1 year ago

@ropensci-review-bot check package

ropensci-review-bot commented 1 year ago

Thanks, about to send the query.

ropensci-review-bot commented 1 year ago

:rocket:

Editor check started

:wave:

ropensci-review-bot commented 1 year ago

Checks for fwildclusterboot (v0.12.4.1)

git hash: e04311ee

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with :eyes: may be optionally addressed.)

Package License: GPL-3


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate. |type |package | ncalls| |:----------|:----------------|------:| |internal |base | 507| |internal |fwildclusterboot | 132| |internal |stats | 86| |internal |utils | 9| |internal |graphics | 3| |internal |compiler | 1| |imports |collapse | 16| |imports |dreamerr | 10| |imports |generics | 6| |imports |dqrng | 5| |imports |MASS | 4| |imports |gtools | 1| |imports |Matrix | 1| |imports |JuliaConnectoR | 1| |imports |summclust | 1| |imports |Formula | NA| |imports |Rcpp | NA| |suggests |fabricatr | 6| |suggests |fixest | NA| |suggests |lfe | NA| |suggests |ivreg | NA| |suggests |clubSandwich | NA| |suggests |lmtest | NA| |suggests |data.table | NA| |suggests |covr | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |broom | NA| |suggests |modelsummary | NA| |suggests |bench | NA| |suggests |testthat | NA| |suggests |tibble | NA| |suggests |sandwich | NA| |linking_to |Rcpp | NA| |linking_to |RcppArmadillo | NA| |linking_to |RcppEigen | NA| Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats()', and examining the 'external_calls' table.

base

length (45), list (32), call (31), lapply (21), c (20), names (18), unique (16), t (15), drop (14), vapply (13), as.vector (12), paste0 (12), data.frame (10), mode (10), Reduce (10), rep (10), stop (10), vector (10), ifelse (9), which (9), for (8), sqrt (8), match.call (7), matrix (7), nrow (7), as.matrix (6), ncol (6), replace (6), sum (6), switch (6), is.null (5), seq_along (5), as.numeric (4), crossprod (4), mean (4), sample (4), solve (4), tcrossprod (4), abs (3), col (3), colnames (3), colSums (3), environment (3), min (3), paste (3), q (3), unlist (3), as.factor (2), as.integer (2), attr (2), cbind (2), dim (2), getOption (2), if (2), loadedNamespaces (2), max (2), norm (2), return (2), sign (2), substr (2), suppressWarnings (2), append (1), as.character (1), class (1), do.call (1), eval (1), exp (1), grepl (1), gsub (1), integer (1), is.na (1), is.numeric (1), isTRUE (1), logical (1), message (1), nchar (1), quote (1), Recall (1), row (1), sample.int (1), seq (1), sort (1), split (1), Sys.getenv (1), tryCatch (1)

fwildclusterboot

format_message (9), get_ssc_julia (8), check_set_full_enumeration (7), set_seed (7), teststat (6), boot_algo_julia (5), crosstab (4), get_bootstrap_pvalue (4), get_cluster (4), boot_algo2 (3), cpp_get_nb_threads (3), eigenMapMatMult (3), get_ssc (3), get_weights (3), matrix_split (3), model_matrix (3), process_R (3), boot_algo3_crv1_denom (2), boottest (2), demean_fe (2), get_scores (2), preprocess2.felm (2), preprocess2.fixest (2), preprocess2.lm (2), transform_fe (2), vec2mat (2), boot_aggregate (1), boot_algo3 (1), boot_algo3_crv3 (1), boottest.felm (1), boottest.fixest (1), boottest.ivreg (1), boottest.lm (1), check_boot_algo3 (1), check_bootstrap_types (1), check_boottest_args_plus (1), check_engine_btype (1), check_mboottest_args_plus (1), check_params_in_model (1), check_r_lean (1), check_set_nthreads (1), confint.boottest (1), crosstab4 (1), format_alert (1), format_error (1), format_warning (1), get_seed (1), get_start_vals (1), getBoottest_engine (1), getBoottest_nthreads (1), glance.boottest (1), glance.mboottest (1), gtools_permutations (1), invert_p_val (1), is_juliaconnector_prepared (1), manipulate_object (1), p_val_null2 (1), p_val_null2_x (1), p_val_null2_x_sign_level (1), preprocess2.ivreg (1), to_integer (1), wildboottestHC (1)

stats

weights (24), model.matrix (13), coef (9), formula (8), na.omit (6), model.frame (5), nobs (4), aggregate (3), model.response (3), na.exclude (3), reformulate (2), vcov (2), na.action (1), na.pass (1), rlnorm (1), update (1)

collapse

fsum (9), GRP (4), qF (3)

dreamerr

validate_dots (10)

utils

data (7), combn (1), txtProgressBar (1)

fabricatr

draw_binary (2), draw_normal_icc (2), draw_ordered (1), fabricate (1)

generics

tidy (4), glance (2)

dqrng

dqsample (4), dqset.seed (1)

MASS

ginv (4)

graphics

abline (3)

compiler

cmpfun (1)

gtools

permutations (1)

JuliaConnectoR

juliaImport (1)

Matrix

Diagonal (1)

summclust

vcov_CR3J (1)

**NOTE:** Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in C++ (9% in 4 files) and R (91% in 33 files) - 2 authors - 5 vignettes - 1 internal data file - 11 imported packages - 34 exported functions (median 9 lines of code) - 159 non-exported functions in R (median 22 lines of code) - 17 R functions (median 18 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by [the `checks_to_markdown()` function](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:------------------------|-----:|----------:|:----------| |files_R | 33| 90.9| | |files_src | 4| 87.0| | |files_vignettes | 5| 96.9| | |files_tests | 18| 95.7| | |loc_R | 4633| 94.8| | |loc_src | 446| 44.2| | |loc_vignettes | 692| 85.0| | |loc_tests | 6099| 98.6|TRUE | |num_vignettes | 5| 97.9|TRUE | |data_size_total | 14024| 72.7| | |data_size_median | 14024| 81.0| | |n_fns_r | 193| 89.2| | |n_fns_r_exported | 34| 81.0| | |n_fns_r_not_exported | 159| 90.9| | |n_fns_src | 17| 41.9| | |n_fns_per_file_r | 3| 55.4| | |n_fns_per_file_src | 4| 44.3| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 18| 54.7| | |loc_per_fn_r_exp | 9| 19.2| | |loc_per_fn_r_not_exp | 22| 66.9| | |loc_per_fn_src | 18| 62.9| | |rel_whitespace_R | 21| 95.3|TRUE | |rel_whitespace_src | 32| 57.7| | |rel_whitespace_vignettes | 35| 88.3| | |rel_whitespace_tests | 13| 97.6|TRUE | |doclines_per_fn_exp | 32| 36.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 180| 87.4| | ---

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/s3alfisc/fwildclusterboot/workflows/R-CMD-check/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) [![pkgcheck](https://github.com/s3alfisc/fwildclusterboot/workflows/pkgcheck/badge.svg)](https://github.com/s3alfisc/fwildclusterboot/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:-------------|:----------|:------|----------:|:----------| | 4068787850|pkgcheck |failure |2da8fd | 107|2023-02-01 | | 4068795526|pkgdown |failure |488cc5 | 193|2023-02-01 | | 4068795524|R-CMD-check |success |488cc5 | 611|2023-02-01 | | 4068795525|test-coverage |NA |488cc5 | 546|2023-02-01 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following error: 1. checking tests ... Running ‘testthat.R’ ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: 4. ├─fwildclusterboot::boottest(...) 5. └─fwildclusterboot:::boottest.ivreg(...) 6. └─fwildclusterboot:::set_seed(...) 7. └─JuliaConnectoR::juliaEval("using StableRNGs") 8. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 9. ├─base::tryCatch(...) 10. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 11. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 12. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 13. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 14. └─JuliaConnectoR:::handleCallbacksAndOutput() [ FAIL 13 | WARN 11 | SKIP 0 | PASS 452 ] Error: Test failures Execution halted R CMD check generated the following note: 1. checking installed package size ... NOTE installed size is 8.8Mb sub-directories of 1Mb or more: libs 7.7Mb R CMD check generated the following test_fail: 1. > library(testthat) > library(fwildclusterboot) > > test_check("fwildclusterboot") Loading required namespace: fixest The variable 'X2' has been removed because of collinearity (see $collin.var). Run the wild bootstrap: this might take some time...(but hopefully not too much time =) ). | | | 0% | |======================================================================| 100%Run the wild bootstrap: this might take some time...(but hopefully not too much time =) ). | | | 0% | |==== | 6% | |======== | 12% | |============ | 18% | |================ | 24% | |===================== | 29% | |========================= | 35% | |============================= | 41% | |================================= | 47% | |===================================== | 53% | |========================================= | 59% | |============================================= | 65% | |================================================= | 71% | |====================================================== | 76% | |========================================================== | 82% | |============================================================== | 88% | |================================================================== | 94% | |======================================================================| 100%Starting Julia ... Loading required namespace: data.table R Note: The bootstrap usually performs best when the confidence level (here, 0.95 %) times the number of replications plus 1 ( 1024 + 1 = 1025 ) is an integer. The variables 'log_income::17.2069212919256:Q1_immigration::3' and 'log_income::18.0802367820713:Q1_immigration::3' have been removed because of collinearity (see $collin.var). Note: The bootstrap usually performs best when the confidence level (here, 0.95 %) times the number of replications plus 1 ( 17 + 1 = 18 ) is an integer. NOTE: 2 fixed-effect singletons were removed (2 observations). WildBootTests.jl Loading required namespace: ivreg Part 1: Full enumeration Tests (deterministic) start ols/wls type: rademacher p-val: two-tailed null imposed: TRUE rademacher two-tailed TRUE type: rademacher p-val: equal-tailed null imposed: TRUE rademacher equal-tailed TRUE type: rademacher p-val: > null imposed: TRUE rademacher > TRUE type: rademacher p-val: < null imposed: TRUE rademacher < TRUE julia connector prepared? TRUEPart 1: Full enumeration Tests (deterministic) start ols/wls type: rademacher p-val: two-tailed null imposed: TRUE rademacher two-tailed TRUE Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). Variance contained negative values in the diagonal and was 'fixed' (a la Cameron, Gelbach & Miller 2011). boottest() boottest() start ols/wls type: rademacher p_val_type: two-tailed type: rademacher p_val_type: equal-tailed type: rademacher p_val_type: > type: rademacher p_val_type: < type: webb p_val_type: two-tailed type: webb p_val_type: equal-tailed type: webb p_val_type: > type: webb p_val_type: < type: mammen p_val_type: two-tailed type: mammen p_val_type: equal-tailed type: mammen p_val_type: > type: mammen p_val_type: < type: norm p_val_type: two-tailed type: norm p_val_type: equal-tailed type: norm p_val_type: > type: norm p_val_type: < fnw1111Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. 13Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. 31Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. 33Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Confidence Intervals are currently only supported for the R engine with 'bootstrap_type = 'fnw11' '. Part 1: Large B Tests start ols/wls type: rademacher p-val: two-tailed null imposed: TRUE rademacher two-tailed TRUE The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. julia connector prepared? TRUE The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. julia connector prepared? TRUE The Julia environment variable 'JULIA_BINDIR' could not be found.Therefore, all tests that involve 'WildBootTests.jl' will be skipped. julia connector prepared? TRUE [ FAIL 13 | WARN 11 | SKIP 0 | PASS 452 ] ══ Warnings ════════════════════════════════════════════════════════════════════ ── Warning ('test_tidy.R:22'): test tidiers with q = 1 ───────────────────────── There are only 1024 unique draws from the rademacher distribution for 10 bootstrap clusters. Therefore, B = 1024 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 1024 bootstrap draws, only 2^(#clusters - 1) = 512 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test_tidy.R:22:4 2. fwildclusterboot:::boottest.lm(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning ('test_tidy.R:28'): test tidiers with q = 1 ───────────────────────── There are only 1024 unique draws from the rademacher distribution for 10 bootstrap clusters. Therefore, B = 1024 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 1024 bootstrap draws, only 2^(#clusters - 1) = 512 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test_tidy.R:28:4 2. fwildclusterboot:::boottest.lm(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning ('test-error_warning.R:1210'): errors and warnings q = 1 ──────────── Currently, boottest() calculates confidence intervals for one-sided hypotheses only for engine = 'WildBootTests.jl'. Backtrace: 1. testthat::expect_error(...) at test-error_warning.R:1210:8 8. fwildclusterboot:::boottest.fixest(...) 9. fwildclusterboot:::r_algo_checks(...) ── Warning ('test-error_warning.R:1222'): errors and warnings q = 1 ──────────── Currently, boottest() calculates confidence intervals for one-sided hypotheses only for engine = 'WildBootTests.jl'. Backtrace: 1. testthat::expect_error(...) at test-error_warning.R:1222:8 8. fwildclusterboot:::boottest.felm(...) 9. fwildclusterboot:::r_algo_checks(...) ── Warning ('test-method_equivalence.R:136'): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Negative eigenvalues set to zero in multiway clustered variance matrix. See felm(...,psdef=FALSE) Backtrace: 1. lfe::felm(...) at test-method_equivalence.R:136:4 2. lfe:::felm.mm(...) 3. lfe:::newols(...) ── Warning ('test-method_equivalence.R:161'): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Negative eigenvalues set to zero in multiway clustered variance matrix. See felm(...,psdef=FALSE) Backtrace: 1. lfe::felm(...) at test-method_equivalence.R:161:4 2. lfe:::felm.mm(...) 3. lfe:::newols(...) ── Warning ('test-method_equivalence.R:168'): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Negative eigenvalues set to zero in multiway clustered variance matrix. See felm(...,psdef=FALSE) Backtrace: 1. lfe::felm(...) at test-method_equivalence.R:168:4 2. lfe:::felm.mm(...) 3. lfe:::newols(...) ── Warning ('test-uncategorized.R:45'): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:45:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning ('test-uncategorized.R:53'): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:53:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning ('test-uncategorized.R:61'): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:61:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ── Warning ('test-uncategorized.R:69'): uncategorized tests ──────────────────── There are only 64 unique draws from the rademacher distribution for 6 bootstrap clusters. Therefore, B = 64 with full enumeration. Consider using webb weights instead. Further, note that under full enumeration and with B = 64 bootstrap draws, only 2^(#clusters - 1) = 32 distinct t-statistics and p-values can be computed. For a more thorough discussion, see Webb `Reworking wild bootstrap based inference for clustered errors` (2013). Backtrace: 1. fwildclusterboot::boottest(...) at test-uncategorized.R:69:2 2. fwildclusterboot:::boottest.fixest(...) 3. fwildclusterboot:::check_set_full_enumeration(...) ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test_tidy.R:35'): test tidiers with q = 1 ─────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::boottest(...) at test_tidy.R:35:4 2. └─fwildclusterboot:::boottest.lm(...) 3. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 4. └─JuliaConnectoR::juliaEval("using StableRNGs") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test_tidy.R:85'): test tidiers with q > 1 ─────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::mboottest(...) at test_tidy.R:85:2 2. └─fwildclusterboot:::mboottest.lm(...) 3. └─fwildclusterboot:::set_seed(...) 4. └─JuliaConnectoR::juliaEval("using StableRNGs") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-error_warning.R:246'): errors and warnings q = 1 ─────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-error_warning.R:246:8 2. │ └─base::withCallingHandlers(...) 3. ├─testthat::expect_warning(...) 4. │ └─testthat:::expect_condition_matching(...) 5. │ └─testthat:::quasi_capture(...) 6. │ ├─testthat (local) .capture(...) 7. │ │ └─base::withCallingHandlers(...) 8. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 9. ├─fwildclusterboot::boottest(...) 10. └─fwildclusterboot:::boottest.lm(...) 11. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 12. └─JuliaConnectoR::juliaEval("using StableRNGs") 13. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 14. ├─base::tryCatch(...) 15. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 16. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 18. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 19. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-error_warning.R:1512'): error warning IV/WRE and q > 1 ───────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─testthat::expect_warning(...) at test-error_warning.R:1512:4 2. │ └─testthat:::expect_condition_matching(...) 3. │ └─testthat:::quasi_capture(...) 4. │ ├─testthat (local) .capture(...) 5. │ │ └─base::withCallingHandlers(...) 6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 7. ├─base::suppressMessages(...) 8. │ └─base::withCallingHandlers(...) 9. ├─fwildclusterboot::boottest(...) 10. └─fwildclusterboot:::boottest.ivreg(...) 11. └─fwildclusterboot:::set_seed(...) 12. └─JuliaConnectoR::juliaEval("using StableRNGs") 13. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 14. ├─base::tryCatch(...) 15. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 16. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 18. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 19. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-full-enumeration.R:296'): test full enumeration cases: r and julia ── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-full-enumeration.R:296:12 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-global_vars.R:19'): global engine ────────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-global_vars.R:19:4 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-method_equivalence.R:1228'): Do different, but equivalent ways to specify linear models lead to equivalent results? ── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. └─fwildclusterboot (local) create_models(clustid = "group_id1") at test-method_equivalence.R:1228:4 2. ├─base::assign(...) at test-method_equivalence.R:188:8 3. ├─base::suppressWarnings(...) 4. │ └─base::withCallingHandlers(...) 5. ├─fwildclusterboot::boottest(...) 6. └─fwildclusterboot:::boottest.lm(...) 7. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 8. └─JuliaConnectoR::juliaEval("using StableRNGs") 9. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 10. ├─base::tryCatch(...) 11. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 12. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 13. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 14. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 15. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-new-bootstrap-variants.R:290'): variants 31 R vs Julia ───────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─fwildclusterboot::boottest(...) at test-new-bootstrap-variants.R:290:4 2. └─fwildclusterboot:::boottest.lm(...) 3. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 4. └─JuliaConnectoR::juliaEval("using StableRNGs") 5. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 6. ├─base::tryCatch(...) 7. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 8. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 9. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 10. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 11. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-r-vs-julia.R:86'): test r against Julia I: stochastic tests ──── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-r-vs-julia.R:86:14 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-seed.R:31'): seed works for OLS ──────────────────────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressMessages(...) at test-seed.R:31:6 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-tstat_equivalence.R:428'): t-stat equivalence OLS - WildBootTests ── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. ├─base::suppressWarnings(...) at test-tstat_equivalence.R:428:18 2. │ └─base::withCallingHandlers(...) 3. ├─fwildclusterboot::boottest(...) 4. └─fwildclusterboot:::boottest.lm(...) 5. └─fwildclusterboot:::set_seed(seed = seed, engine = engine, type = type) 6. └─JuliaConnectoR::juliaEval("using StableRNGs") 7. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 8. ├─base::tryCatch(...) 9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 12. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 13. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-tstat_equivalence.R:882'): t-stat equivalence OLS q > 1 ──────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. └─fwildclusterboot (local) wald_test(run_this_test = TRUE) at test-tstat_equivalence.R:882:4 2. ├─base::suppressWarnings(...) at test-tstat_equivalence.R:671:8 3. │ └─base::withCallingHandlers(...) 4. ├─fwildclusterboot::mboottest(...) 5. └─fwildclusterboot:::mboottest.lm(...) 6. └─fwildclusterboot:::set_seed(...) 7. └─JuliaConnectoR::juliaEval("using StableRNGs") 8. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 9. ├─base::tryCatch(...) 10. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 11. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 12. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 13. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 14. └─JuliaConnectoR:::handleCallbacksAndOutput() ── Error ('test-tstat_equivalence.R:966'): t-stat equivalence IV ─────────────── Error: Evaluation in Julia failed. Original Julia error message: LoadError: ArgumentError: Package StableRNGs not found in current path. - Run `import Pkg; Pkg.add("StableRNGs")` to install the StableRNGs package. Stacktrace: [1] macro expansion @ ./loading.jl:1163 [inlined] [2] macro expansion @ ./lock.jl:223 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [4] eval @ ./boot.jl:368 [inlined] [5] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428 [6] include_string (repeats 2 times) @ ./loading.jl:1438 [inlined] [7] mainevalcmd(str::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:150 [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Base ./essentials.jl:729 [9] invokelatest(::Any, ::Any, ::Vararg{Any}) @ Base ./essentials.jl:726 [10] evaluate!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:67 [11] evaluate_checked!(call::Main.RConnector.Call, communicator::Main.RConnector.CommunicatoR{Sockets.TCPSocket}) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/evaluating.jl:55 [12] serve_repl(sock::Sockets.TCPSocket) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:185 [13] serve(port_hint::Int64; multiclient::Bool, portfile::String) @ Main.RConnector /usr/local/lib/R/site-library/JuliaConnectoR/Julia/communicating.jl:152 [14] top-level scope @ /usr/local/lib/R/site-library/JuliaConnectoR/Julia/main.jl:23 [15] include(mod::Module, _path::String) @ Base ./Base.jl:419 [16] exec_options(opts::Base.JLOptions) @ Base ./client.jl:303 [17] _start() @ Base ./client.jl:522 in expression starting at string:1 Backtrace: ▆ 1. └─fwildclusterboot (local) iv_test(run_this_test = TRUE) at test-tstat_equivalence.R:966:4 2. ├─base::suppressWarnings(...) at test-tstat_equivalence.R:931:8 3. │ └─base::withCallingHandlers(...) 4. ├─fwildclusterboot::boottest(...) 5. └─fwildclusterboot:::boottest.ivreg(...) 6. └─fwildclusterboot:::set_seed(...) 7. └─JuliaConnectoR::juliaEval("using StableRNGs") 8. └─JuliaConnectoR::juliaCall("RConnector.mainevalcmd", expr) 9. ├─base::tryCatch(...) 10. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers) 11. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]]) 12. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler) 13. └─JuliaConnectoR:::doCallJulia(funName, jlargs) 14. └─JuliaConnectoR:::handleCallbacksAndOutput() [ FAIL 13 | WARN 11 | SKIP 0 | PASS 452 ] Error: Test failures Execution halted R CMD check generated the following check_fails: 1. rcmdcheck_tests_pass 2. rcmdcheck_reasonable_installed_size #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- get_cluster | 35 gtools_permutations | 34 boot_algo3 | 27 boot_aggregate | 22 boot_algo_julia | 21 boottest.felm | 19 boottest.fixest | 19 boottest.lm | 19 getBoottest_nthreads | 16 check_boottest_args_plus | 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 16 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 16


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following 2 function names are duplicated in other packages: - - `format_message` from insight - - `pval` from CIPerm, dostats, dostats, GUIDE, learnstats, molic, mosaic, overlapptest, RPtests, timereg


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.3 | |pkgcheck |0.1.1.11 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

maurolepore commented 1 year ago

Thanks @s3alfisc for following up.

It's looking good!

I think it's fine to skip tests if you have a good reason. Just remember to document the reason in the skip(message) and covr-exclusions, so that reviewers know why you made that decision.

So from the bot check-results I'm mainly concerned with this one: :heavy_multiplication_x: R CMD check found 1 error.

mpadge commented 1 year ago

@maurolepore You may ignore that error from our systems. It arises through tests which use JuliaConnectorR to connect with julia code, and specifically:

Error: Evaluation in Julia failed.
Original Julia error message:
LoadError: ArgumentError: Package StableRNGs not found in current path.

@s3alfisc does that install via GitHub action workflow, but we don't yet have a way to custom-install required Julia packages. Sorry for any inconvenience.

maurolepore commented 1 year ago

Thanks @mpadge. Then I'm inclined to move forward and start the search for a handling editor. While you're here and given this is a stats submission, can I ask you to give me :+1: if you agree or explain if you dissagree?

s3alfisc commented 1 year ago

Hi @mpadge , thanks for chiming in =) At some point you suggested that I should disable all tests based on WildBootTests.jl when I do not find a Julia installation - do you have a suggestion on how I could implement that? I unfortunately never managed to figure this out myself.

@maurolepore , I unfortunately cannot disable these test via covr, as I am comparing output produced via fwildclusterboot's central function (boottest()) with a Julia implementation.

adamhsparks commented 1 year ago

I’ve not followed too closely, but do have an interest in mixing R and Julia. Have you tried something like, tryCatch(system2(command="julia", args="--version"), error = print("Julia not found")) to detect Julia first?

From: https://discourse.julialang.org/t/test-if-julia-is-installed/83703/4

s3alfisc commented 1 year ago

Hi @adamhsparks, thanks so much for reminding me of this thread! Completely forgot about it :D I did not get it to work back in the day - it turns out I had not added Julia to my path. Now I've added the function below to check if Julia (or any programming language) is installed - it returns a logical indicating if Julia is installed or not. I can probably tweak it a bit and also get out the Julia version number.

find_proglang <- function(lang){

  #' Check if julia or python are installed / 
  #' can be found on the PATH
  #' 
  #' @param lang which language to check. Either 'julia' or 'python'
  #' 
  #' @return logical. TRUE if lang is found on path, FALSE if not

  dreamerr::check_arg(lang, "charin(julia, python)")

  # x == 0L if no error is found
  x =   
    tryCatch(
      system2(
        command= lang, args="--version"
      ), 
      error = function(e) e
    )

  language_found <- ifelse(x == 0L, TRUE, FALSE)

  language_found

}

This can then be combined with testthat::skip_if_not() to something like

skip_if_not(
    find_proglang("julia"), 
    message = "skip test as julia installation not found."
  )
maurolepore commented 1 year ago

@s3alfisc if I understand correctly one elegant alternative is to combine nzchar() with Sys.which():

Sys.which("python")
#> python 
#>     ""
Sys.which("julia")
#>            julia 
#> "/usr/bin/julia"

nzchar("")
#> [1] FALSE
nzchar("not/an/empty/string")
#> [1] TRUE

nzchar(Sys.which("python"))
#> [1] FALSE
nzchar(Sys.which("julia"))
#> [1] TRUE

Created on 2023-02-04 with reprex v2.0.2

s3alfisc commented 1 year ago

Thanks @maurolepore - I've switched to your solution in the dev branch=)

adamhsparks commented 1 year ago

So that should be possible to use to check before running tests, no?

s3alfisc commented 1 year ago

Yes, exactly, e.g. with testthat::skip_if_not(nzchar(Sys.which('julia'))) on top of the test file =)

s3alfisc commented 1 year ago

Hi @maurolepore - just checking in - is there any update or anything that I should be doing?

maurolepore commented 1 year ago

Thanks @s3alfisc for the reminder. I was confused -- I expected the stats team to take over. My apologies!

I'm reviewing the EiC duties for stats submissions and it seems that I need to call @ropensci-review-bot check srr. So here I go.

maurolepore commented 1 year ago

@ropensci-review-bot check srr

maurolepore commented 1 year ago

@mpadge can you please guide me? I don't want to cause additional delay.

In the stats guide on EiC responsabilities I see:

Call @ropensci-review-bot check srr to generate a summary of compliance with our “srr” (Software Review Roclets) system for documenting standards compliance.

Do you agree that's my next step or is that already covered by the general call to @ropensci-review-bot check package that I see above?

mpadge commented 1 year ago

@maurolepore Yeah, check package command includes all the information contained in check srr. But it's still probably good practice to call check srr first - it only spits out a few lines to tell whether you should proceed to full check.

ropensci-review-bot commented 1 year ago

This is not an 'srr' package

maurolepore commented 1 year ago

Thanks! Then the ball is back in my court. I see the software complies with at least half of all applicable standards, so the next step is to find a handling editor. I'll move the search to Slack.

@s3alfisc thanks for your patience.

maurolepore commented 1 year ago

@s3alfisc we're still looking for a handling editor but @mpadge has a good candidate.

s3alfisc commented 1 year ago

That's excellent news @maurolepore! =)