AngelosPsy / multifear

A suite of functions for running multiverse analyses for fear conditioning data.
2 stars 1 forks source link

Breaking bayestestR update #8

Closed DominiqueMakowski closed 3 years ago

DominiqueMakowski commented 3 years ago

Hi, we're about to update bayestestR on CRAN, which will break one example and two tests in your package due to the following change: the Bayes factors functions now return the column log_BF instead of BF (and the log has to be exponentiated to get back to "normal" BFs).

Apologies for the breaking change, and let us know if you need any help to fix it :)

Package: multifear
Check: examples
New result: ERROR
  Running examples in ‘multifear-Ex.R’ failed
  The error most likely occurred in:

  > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
  > ### Name: rm_banova_mf
  > ### Title: rm_banova_mf
  > ### Aliases: rm_banova_mf
  > 
  > ### ** Examples
  > 
  > # Briefly define argument values that will be plugged in later on in the functions.
  > # We only use two trials as the function takes a long time to run.
  > 
  > cs1 <- paste0("CSP", 1:2)
  > cs2 <- paste0("CSM", 1:2)
  > subj <- "id"
  > 
  > # Bayesian Repeated measures ANOVA without groups
  > rm_banova_mf(cs1 = cs1, cs2 = cs2, subj = subj,
  + data = example_data, time = TRUE)
  Error: Can't subset columns that don't exist.
  ✖ Column `BF` doesn't exist.
  Backtrace:
       â–ˆ
    1. ├─multifear::rm_banova_mf(...)
    2. │ └─`%>%`(...)
    3. ├─dplyr::select(., BF)
    4. └─dplyr:::select.data.frame(., BF)
    5.   └─tidyselect::eval_select(expr(c(...)), .data)
    6.     └─tidyselect:::eval_select_impl(...)
    7.       ├─tidyselect:::with_subscript_errors(...)
    8.       │ ├─base::tryCatch(...)
    9.       │ │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
   10.       │ │   └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.       │ │     └─base:::doTryCatch(return(expr), name, parentenv, handler)
   12.       │ └─tidyselect:::instrument_base_errors(expr)
   13.       │   └─base::withCallingHandlers(...)
   14.       └─tidyselect:::vars_select_eval(...)
   15.         └─tidyselect:::walk_data_tree(expr, data_mask, context_mask)
   16.           └─tidyselect:::eval_c(expr, data_mask, context_mask)
   17.             └─tidyselect:::reduce_sels(node, data_mask, context_mask, init = init)
   18.               └─tidyselect:::walk_data_tree(new, data_mask, context_mask)
   19.                 └─tidyselect:::as_indices_sel_impl(...)
   20.                   └─tidyselect:::as_indices_impl(x, vars, strict = strict)
   21.                     └─tidyselect:::chr_as_locations(x, vars)
   22.                       └─vctrs::vec_as_location(x, n = length(vars), names = vars)
   23.                         └─(function () ...
   24.                           └─vctrs:::stop_subscript_oob(...)
   25.                             └─vctrs:::stop_subscript(...)
  Execution halted

Package: multifear
Check: tests
New result: ERROR
    Running ‘testthat.R’ [37s/37s]
  Running the tests in ‘tests/testthat.R’ failed.
  Complete output:
    > library(testthat)
    > library(multifear)
    > 
    > test_check("multifear")
    ══ Failed tests ════════════════════════════════════════════════════════════════
    ── Error (test.output.R:47:3): rm_banova_mf works ──────────────────────────────
    Error: Can't subset columns that don't exist.
    ✖ Column `BF` doesn't exist.
    Backtrace:
         â–ˆ
      1. ├─testthat::expect_known_output(...) test.output.R:47:2
      2. │ ├─base::append(act, eval_with_output(object, print = print, width = width))
      3. │ └─testthat:::eval_with_output(object, print = print, width = width)
      4. │   ├─withr::with_output_sink(temp, withVisible(code))
      5. │   │ └─base::force(code)
      6. │   └─base::withVisible(code)
      7. ├─multifear::rm_banova_mf(cs1, cs2, subj = subj, data = example_data)
      8. │ └─`%>%`(...)
      9. ├─dplyr::select(., BF)
     10. └─dplyr:::select.data.frame(., BF)
     11.   └─tidyselect::eval_select(expr(c(...)), .data)
     12.     └─tidyselect:::eval_select_impl(...)
     13.       ├─tidyselect:::with_subscript_errors(...)
     14.       │ ├─base::tryCatch(...)
     15.       │ │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
     16.       │ │   └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
     17.       │ │     └─base:::doTryCatch(return(expr), name, parentenv, handler)
     18.       │ └─tidyselect:::instrument_base_errors(expr)
     19.       │   └─base::withCallingHandlers(...)
     20.       └─tidyselect:::vars_select_eval(...)
     21.         └─tidyselect:::walk_data_tree(expr, data_mask, context_mask)
     22.           └─tidyselect:::eval_c(expr, data_mask, context_mask)
     23.             └─tidyselect:::reduce_sels(node, data_mask, context_mask, init = init)
     24.               └─tidyselect:::walk_data_tree(new, data_mask, context_mask)
     25.                 └─tidyselect:::as_indices_sel_impl(...)
     26.                   └─tidyselect:::as_indices_impl(x, vars, strict = strict)
     27.                     └─tidyselect:::chr_as_locations(x, vars)
     28.                       └─vctrs::vec_as_location(x, n = length(vars), names = vars)
     29.                         └─(function () ...
     30.                           └─vctrs:::stop_subscript_oob(...)
     31.                             └─vctrs:::stop_subscript(...)
    ── Error (test.output.R:51:3): rm_banova_mf for groups works ───────────────────
    Error: Can't subset columns that don't exist.
    ✖ Column `BF` doesn't exist.
    Backtrace:
         â–ˆ
      1. ├─testthat::expect_known_output(...) test.output.R:51:2
      2. │ ├─base::append(act, eval_with_output(object, print = print, width = width))
      3. │ └─testthat:::eval_with_output(object, print = print, width = width)
      4. │   ├─withr::with_output_sink(temp, withVisible(code))
      5. │   │ └─base::force(code)
      6. │   └─base::withVisible(code)
      7. ├─multifear::rm_banova_mf(...)
      8. │ └─`%>%`(...)
      9. ├─dplyr::select(., BF)
     10. └─dplyr:::select.data.frame(., BF)
     11.   └─tidyselect::eval_select(expr(c(...)), .data)
     12.     └─tidyselect:::eval_select_impl(...)
     13.       ├─tidyselect:::with_subscript_errors(...)
     14.       │ ├─base::tryCatch(...)
     15.       │ │ └─base:::tryCatchList(expr, classes, parentenv, handlers)
     16.       │ │   └─base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
     17.       │ │     └─base:::doTryCatch(return(expr), name, parentenv, handler)
     18.       │ └─tidyselect:::instrument_base_errors(expr)
     19.       │   └─base::withCallingHandlers(...)
     20.       └─tidyselect:::vars_select_eval(...)
     21.         └─tidyselect:::walk_data_tree(expr, data_mask, context_mask)
     22.           └─tidyselect:::eval_c(expr, data_mask, context_mask)
     23.             └─tidyselect:::reduce_sels(node, data_mask, context_mask, init = init)
     24.               └─tidyselect:::walk_data_tree(new, data_mask, context_mask)
     25.                 └─tidyselect:::as_indices_sel_impl(...)
     26.                   └─tidyselect:::as_indices_impl(x, vars, strict = strict)
     27.                     └─tidyselect:::chr_as_locations(x, vars)
     28.                       └─vctrs::vec_as_location(x, n = length(vars), names = vars)
     29.                         └─(function () ...
     30.                           └─vctrs:::stop_subscript_oob(...)
     31.                             └─vctrs:::stop_subscript(...)

    [ FAIL 2 | WARN 1 | SKIP 0 | PASS 15 ]
    Error: Test failures
    Execution halted
AngelosPsy commented 3 years ago

Thank you for the heads up. The https://github.com/AngelosPsy/multifear/commit/d32735251c3bd018c252c4514ad1b1c3bc9bb59f commit solves this issue. I also cut a new release (v.0.1.2; https://github.com/AngelosPsy/multifear/releases/tag/v0.1.2 release) now available on CRAN.