- Enhance internal function of
calc_sdt()
. This function could be exported in future.
- Fixed an issue of binding data.frames by position, which is now corrected by matching columns by name.
- Removed
wrangle_data()
and now there istarflow.iquizoo::parse_data()
to replace it (#86).
- Now case conversion is moved from
wrangle_data()
topreproc_data()
(#85).
- Added
memory_score
todrm()
which integrates both true memory and false memory.
- Added
"cutoff"
method in response time outlier detection, which is used insrt()
now. - Added
"transform"
method in response time outlier detection, which was stated to be used but the code was not right. Now it is used as default if not specified.
- Let internal function
calc_sdt()
throw error when type column is not valid. - Enhanced code quality of internal functions.
- Handle duplicated lower-case column names by skipping conversion.
- Fixed observation order issue introduced by
calc_indices()
.
- Added
wrangle_data()
andpreproc_data()
functions, which were previously in tarflow.iquizoo package.
- Fixed an edge case when
fit_numerosity()
will stuck in infinite loop.
- Enhance code quality of internal functions.
- Ensure the number of reversals in
calc_staircase_wetherill()
to be even. Odd number of reversals will be automatically adjusted to even number by removing the first reversal from the condition with larger number of reversals (#75).
- Added
condstairs()
to analyze data from self-adaptive filtering task. - Added
capacity()
to analyze data from visual working memory capacity task. - Added
fname()
to analyze data from face-name associative task. - Added
ant_orient()
andant_alert()
to analyze data from split version of attention network tests (ANT). - Added support for extra checking for valid rows to include in
countcorrect()
. - Added support for restoring
"outcome"
column from"acc"
column inspan()
. This might need further configuration of"outcome_rule"
(default to 1, means no more error count of 1) in argument.extra
.
- Fixed the random seed in
fit_numerosity()
. Future work might be expanded to support setting this (rather easy but not so important now).
- After {tidyselect} 1.2.0 and {dplyr} 1.1.0, many old usage of {tidyverse} functions will throw warnings. These warnings are now taken care of.
- Fixed a bug in
span()
when correctness column hasNA
values not in all rows, in which case the function would not calculate partical credit scores for all cases.
- Reverted one index (
pc
) ofcpt()
to its originalnc
.
- Added
.by
argument back to all functions for speed improvement.
- Ensured all the functions return data with the same
class
as inputdata
. This is somewhat so-called class invariant.
- Added
rapm()
for Raven's Advanced Progressive Matrices test. - Exported
fit_numerosity()
. - Added basic support for indices combining speed and accuracy performances in
calc_spd_acc()
. - Supported new version of Racer test in
racer()
. - Added index of percent correct for learning phase for reinforcement test in
reinf()
.
- Fixed bug of switch cost for percent correct (#68).
- Fixed docstring of
span()
(#65).
- Correct spellings.
- Now the
.by
argument from all functions is removed. The decision to include that grouping argument is now considered a redundant feature.
- Added new function
racer()
to support NeuroRacer tests.
- Added new function
reinf()
to support for reinforcement learning tests. - Support threshold calculation in
staircase()
with inflection point.
- Fixed issues for
synwin()
caused by a new design of the test. - Now response times are corrected for no-response trials in stop signal test.
- Added new function
dualnback()
to support for dual n-back tests. - Added new function
staircase()
to support for tests shipped with staircase method. - Added new function
synwin()
to support modified SynWin test. - Now
span()
can deal with location memory test. - Supported new design of london tower test.
- Added partical credit score for simple or complex span tests (#36).
- Changed algorithm to get stop signal reaction time for Stop Signal Paradigm based on the recent eLife publication (#56).
- Added support for ncorrect and nerror input for
countcorrect()
andcountcorrect2()
. - Enhanced reaction time outlier detection (#61).
- Enhanced fitting of weber fraction for numerosity task through trial-based maximum likelihood estimation.
- Now
options()
support is removed, but accept two additional arguments.input
and.extra
.
- Remove
where
from global variables.
- Removed support for custom-defined json configuration file.
- Added support to configure function behavior in
options()
, for now including input variable names in data and specific values for certain variables. - Now
preproc()
is removed because it is believed there is no place for it after this refactoring.
- Remove several unused package from dependency.
- Changed argument names of
prep_fun
andby
to.fn
and.by
respectively. See here for the reasons. - And
vars_input
is also renamed as.input
.
- Remove "Datasets" section from pkgdown site.
- Now internal data moved to {data.iquizoo} package.
- Now
preproc()
accepts custom-defined functions and custom-defined configurations (input and output variable names) in a custom.json
file.
- Now the package is named as "preproc.iquizoo".
game_info
data is moved to {data.iquizoo} package.
- For integrating "{dm}" package, we moved
wrangle_data()
back to {tarflow.iquizoo}, and then renamedpreproc_data()
topreproc()
.
- Added more games into the
game_info
data.
- Added a new function
wrange_data()
(originally in {tarflow.iquizoo}). Now it removes duplicates from data. - Added two more indices in
refframe()
of distance error aggregating both conditions.
- Support an edge case for
span()
when number of correct responses can be recovered from columns"stim"
and"resp"
. Use it with care, for it does take order into consideration!
- Support input of cancellation games data for
cpt()
.
- Now cancellation games use
cpt()
preprocessing function.
- Changed the behavior of
preproc_data()
to make sure it restores all the attributes from inputdata
.
- Now pipe and rlang helpers are not re-exported from this package.
- Add a subtle new feature that now more keywords are supported in
nback()
. Specifically, you can now use"filler"
and"target"
keywords. - Add another subtle new feature so that you can ignore the case of character vectors. For example,
"filler"
and"Filler"
are both okay for now, but only"Filler"
is errorproof for previous versions.
- Added more games in the data
game_info
, mostly are questionnaires (#27, thanks to @Blockhead-yj). - Fixed case issues of data name. Now lowercase is used thoroughly for data names (note it is not snake_case, for readability is not for consideration).
- Add support for group-wise calculation, and this is implemented by using a new "entry-point" function
preproc_data()
with an input argument ofby
(#23, #25).
- Use log-linear correction for extreme proportions in calculation of d' based on signal detection theory (#16).
- Add more games to
game_info
data.
- Completely removed
conflict()
, which is defunct for many versions. - Used the 3rd version test framework of testthat package, especially takes advantage of the snapshot test (or golden test) to simplify all our tests.
- Unified the abnormal output by setting all of the
NA
s asNA_real
. - Unified the response metrics checking. Now many games need to have a minimal valid response rate of 80% and a minimal accuracy rate, too. Use
?tarflow.iquizoo:::check_resp_metric
to see details. Note this function is not exported for now.
- Add external data
game_info
, which stores games information of preprocessing functions. Run?game_info
in R to read more details.
- Fixed a bug occured in function
london()
when user did not respond and the data still scored the user as correct. - Added a response rate check for
london()
. Now the score is normal only when the response rate is no less than 80%.
- Just as
complexswitch()
, nowswitchcost()
will also return abnormal result (allNA
s) if at least one block has no responses.
- Fix a bug occured in function
multisense()
when users did not respond to sound trials.
- Fix a bug occured in function
wxpred()
after fillingNA
values toname_block
(mostly is justBlock
) column. - Fix a bug occured in function
driving()
when minus signs, which are confused with hyphens, are logged into data.
- Now
complexswitch()
will return abnormal result (allNA
s) if at least one block has no responses.
- Rename package from "preprocr2" to "preproc.iquizoo". This is recommended because all the work is related to www.iquizoo.com.
- Added a utility function
calc_sdt()
to calculate signal detection theory related indices. - Fixed an issue related to perfect accuracy in
drm()
.
- Added a
NEWS.md
file to track changes to the package. - Added
pc_all
index, meaning overal percent of correct, towxpred
function.