Skip to content

Commit

Permalink
version 1.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
choi-phd authored and cran-robot committed Sep 21, 2020
1 parent b44f8a2 commit c5833ae
Show file tree
Hide file tree
Showing 252 changed files with 16,501 additions and 11,225 deletions.
45 changes: 26 additions & 19 deletions DESCRIPTION
Expand Up @@ -2,8 +2,8 @@ Package: TestDesign
Type: Package
Title: Optimal Test Design Approach to Fixed and Adaptive Test
Construction
Version: 1.0.2
Date: 2020-01-25
Version: 1.1.2
Date: 2020-09-20
Authors@R: c(
person("Seung W.", "Choi",
email = "schoi@austin.utexas.edu",
Expand All @@ -17,31 +17,38 @@ Maintainer: Seung W. Choi <schoi@austin.utexas.edu>
Description: Use the optimal test design approach by Birnbaum (1968, ISBN:9781593119348) and
van der Linden (2018) <doi:10.1201/9781315117430> in constructing fixed and adaptive tests. Supports the following
mixed-integer programming (MIP) solver packages: 'lpsymphony', 'Rsymphony', 'gurobi', 'lpSolve', and 'Rglpk'. The 'gurobi' package
is not available from CRAN; see <https://www.gurobi.com/downloads>. See vignette for installing 'Rsymphony' package
is not available from CRAN; see <https://www.gurobi.com/downloads/>. See vignette for installing 'Rsymphony' package
on Mac systems.
URL: https://github.com/choi-phd/TestDesign
BugReports: https://github.com/choi-phd/TestDesign/issues
URL: https://choi-phd.github.io/TestDesign/
BugReports: https://github.com/choi-phd/TestDesign/issues/
License: GPL (>= 2)
Depends: R (>= 2.10)
biocViews:
Imports: Rcpp (>= 1.0.0), methods, Matrix, lpSolve, foreach, logitnorm,
Rdpack, crayon
Suggests: lpsymphony, Rsymphony, gurobi, Rglpk, shiny, shinythemes,
shinyWidgets, shinyjs, DT, knitr, rmarkdown, kableExtra,
testthat (>= 2.1.0)
LinkingTo: Rcpp
RoxygenNote: 7.0.2
Imports: Rcpp (>= 1.0.0), methods, lpSolve, foreach, logitnorm, crayon
Suggests: lpsymphony, Rsymphony, gurobi, Rglpk, mirt, progress, shiny,
shinythemes, shinyWidgets, shinyjs, DT, knitr, rmarkdown,
kableExtra, testthat (>= 2.1.0), pkgdown
LinkingTo: Rcpp, RcppArmadillo
RoxygenNote: 7.1.1
Encoding: UTF-8
LazyData: true
RdMacros: Rdpack
VignetteBuilder: knitr
Collate: 'RcppExports.R' 'import.R' 'item_class.R' 'item_functions.R'
'loading_functions.R' 'static_class.R' 'shadow_class.R'
'static_functions.R' 'shadow_functions.R' 'datasets.R'
'solver_functions.R' 'helper_functions.R' 'runshiny.R'
Collate: 'RcppExports.R' 'import.R' 'extensions.R' 'item_class.R'
'item_functions.R' 'loading_functions.R' 'static_class.R'
'shadow_class.R' 'static_functions.R' 'shadow_functions.R'
'bayes_functions.R' 'constraint_functions.R'
'constraints_operators.R' 'cpp_documents.R' 'datasets.R'
'eligibility_functions.R' 'exposure_control_functions.R'
'solver_functions.R' 'helper_functions.R'
'item_attrib_operators.R' 'item_pool_operators.R'
'other_functions.R' 'plot_functions.R'
'pool_cluster_operators.R' 'summary_class.R'
'print_functions.R' 'runshiny.R' 'summary_functions.R'
'show_functions.R' 'st_attrib_operators.R' 'test_operators.R'
'theta_functions.R' 'xdata_functions.R'
NeedsCompilation: yes
Packaged: 2020-02-03 15:56:08 UTC; chois1
Packaged: 2020-09-20 23:21:47 UTC; chois1
Author: Seung W. Choi [aut, cre] (<https://orcid.org/0000-0003-4777-5420>),
Sangdon Lim [aut] (<https://orcid.org/0000-0002-2988-014X>)
Repository: CRAN
Date/Publication: 2020-02-06 00:50:02 UTC
Date/Publication: 2020-09-21 06:50:15 UTC
343 changes: 180 additions & 163 deletions MD5

Large diffs are not rendered by default.

62 changes: 56 additions & 6 deletions NAMESPACE
Expand Up @@ -7,20 +7,48 @@ S3method("==",pool_cluster)
export(OAT)
export(Shadow)
export(Static)
export(TestDesign)
export(app)
export(array_info_1pl)
export(array_info_2pl)
export(array_info_3pl)
export(array_info_gpc)
export(array_info_gr)
export(array_info_pc)
export(array_p_1pl)
export(array_p_2pl)
export(array_p_3pl)
export(array_p_gpc)
export(array_p_gr)
export(array_p_pc)
export(buildConstraints)
export(calcDerivative)
export(calcDerivative2)
export(calcEscore)
export(calcFisher)
export(calcHessian)
export(calcJacobian)
export(calcLocation)
export(calcLogLikelihood)
export(calcProb)
export(calc_info)
export(calc_info_matrix)
export(calc_likelihood)
export(calc_likelihood_function)
export(calc_log_likelihood)
export(calc_log_likelihood_function)
export(combineConstraints)
export(combineItemPool)
export(createShadowTestConfig)
export(createStaticTestConfig)
export(eap)
export(find_segment)
export(getSolution)
export(getSolutionAttributes)
export(info_1pl)
export(info_2pl)
export(info_3pl)
export(info_gpc)
export(info_gr)
export(info_pc)
export(iparPosteriorSample)
export(lnHyperPars)
export(loadConstraints)
Expand All @@ -31,37 +59,57 @@ export(logitHyperPars)
export(makeItemPoolCluster)
export(makeTest)
export(mle)
export(mlef)
export(p_1pl)
export(p_2pl)
export(p_3pl)
export(p_gpc)
export(p_gr)
export(p_pc)
export(plot)
export(plotCAT)
export(plotExposure)
export(plotExposureRateFinal)
export(plotInfo)
export(plotShadow)
export(print)
export(show)
export(showConstraints)
export(simResp)
export(subsetConstraints)
export(subsetItemPool)
export(subsetTest)
export(summary)
export(theta_EB)
export(theta_EB_single)
export(toggleConstraints)
export(updateConstraints)
exportClasses(constraint)
exportClasses(constraints)
exportClasses(item_pool)
exportClasses(output_Shadow)
exportClasses(output_Shadow_all)
exportClasses(output_Static)
exportClasses(test)
exportClasses(test_cluster)
exportMethods(Shadow)
exportMethods(Static)
exportMethods(as.data.frame)
exportMethods(calcFisher)
exportMethods(eap)
exportMethods(makeTest)
exportMethods(plot)
exportMethods(plotCAT)
exportMethods(plotExposure)
exportMethods(plotInfo)
exportMethods(plotShadow)
import(Matrix)
import(Rcpp)
import(crayon)
import(foreach)
import(lpSolve)
import(methods)
importFrom(Rdpack,reprompt)
importFrom(grDevices,col2rgb)
importFrom(grDevices,dev.control)
importFrom(grDevices,dev.cur)
importFrom(grDevices,dev.new)
importFrom(grDevices,dev.off)
importFrom(grDevices,pdf)
Expand All @@ -75,7 +123,6 @@ importFrom(graphics,legend)
importFrom(graphics,lines)
importFrom(graphics,mtext)
importFrom(graphics,par)
importFrom(graphics,plot)
importFrom(graphics,plot.new)
importFrom(graphics,points)
importFrom(graphics,rect)
Expand All @@ -86,13 +133,16 @@ importFrom(logitnorm,rlogitnorm)
importFrom(methods,new)
importFrom(methods,show)
importFrom(methods,validObject)
importFrom(stats,aggregate)
importFrom(stats,cor)
importFrom(stats,dnorm)
importFrom(stats,na.omit)
importFrom(stats,rlnorm)
importFrom(stats,rnorm)
importFrom(stats,runif)
importFrom(stats,sd)
importFrom(utils,capture.output)
importFrom(utils,menu)
importFrom(utils,packageDescription)
importFrom(utils,packageVersion)
importFrom(utils,read.csv)
Expand Down
60 changes: 49 additions & 11 deletions NEWS.md
@@ -1,13 +1,51 @@
# TestDesign 1.0.2
# TestDesign 1.1.2

## QoL updates

* Web documentation is now available at [https://choi-phd.github.io/TestDesign/](https://choi-phd.github.io/TestDesign/)
* `loadItemPool()`, `loadItemAttrib()`, `loadStAttrib()`, `loadConstraints()`, `buildConstraints()` are now capable of reading from data frame objects.
* `loadItemPool()` is now capable of reading from `SingleGroupClass` objects from `mirt` package.
* `item_pool` objects can be now subsetted and combined with `[` and `c()`.
* `constraints` objects can be now subsetted and combined with `[` and `c()`.
* `SUM` constraints now accept `VARIABLE, EXPRESSION` in `CONDITION` for imposing constraints on conditional sums (e.g. `WORDCOUNT, DOK == 1`).
* `Static()` and `Shadow()` now asks for confirmation when attempting to use solvers other than `Rsymphony`, `lpsymphony` and `gurobi` for set-based assembly. This can be overridden by passing `force_solver = TRUE`.
* `Shadow()` now uses `progress` package if available.
* `Static()` now returns an `output_Static` object.
* `Shadow()` now returns an `output_Shadow_all` object.
* Added `print()` extensions for most objects.
* Added `summary()` extensions for most objects.
* Added `plot()` extensions for most objects.
* Added `dataset_bayes` example dataset.
* Now checks whether each solver returns solution properly upon loading the package.
* `plot(type = 'shadow')` (formerly `plotShadow()`) now groups items by stimulus.

## Default solver
## New features
* `config_*` objects now have a new `MIP$retry` slot. This specifies the number of retry attempts when the solver encounters a 'no solution' error. This error is incorrect in some cases. The intent of retrying is to verify whether the 'no solution' error indeed indicates a true error.
* `Shadow()` now has a new `excluded_items` argument.

* Reverted the default solver to `lpSolve` to address `lpsymphony` being unavailable on Solaris.
## Deprecated functions

* `updateConstraints()` is now `toggleConstraints()`.
* `plotInfo()` is now `plot(type = 'info')`.
* `plotCAT()` is now `plot(type = 'audit')`.
* `plotShadow()` is now `plot(type = 'shadow')`.
* `plotExposure()` is now `plot(type = 'exposure')`.
* `calcDerivative()` is removed.
* `calcDerivative2()` is removed.

## Bug fixes
* Fixed a rare bug where `Shadow()` was marking eligible items as ineligible when using `ELIGIBILITY` exposure control.
* Fixed where `loadItemPool()` was parsing standard errors incorrectly for `GR` models.
* Fixed where `loadConstraints()` was creating unnecessarily large numbers of constraints when `TYPE = 'NUMBER'` and `CONDITION` was an item/stimulus attribute name, and the attribute did not have NA values.
* Fixed where `loadConstraints()` was creating constraints incorrectly when `TYPE = 'NUMBER'` and `CONDITION` was an item/stimulus attribute name, and the attribute had NA values.
* Fixed where `loadConstraints()` was creating constraints incorrectly when `TYPE = 'NUMBER'` and `CONDITION` was a stimulus attribute name, and `LB` and `UB` were not equal.
* Fixed where `loadConstraints()` was creating constraints incorrectly when `TYPE = 'SUM'`.

* Fixed where using diagnostic stats was preventing `Shadow()` to run.
* Fixed an error affecting `BIGM` exposure control method on set-based items.
# TestDesign 1.0.2

## Default solver

* Reverted the default solver to `lpSolve` to address `lpsymphony` being unavailable on Solaris.

# TestDesign 1.0.1

Expand All @@ -29,17 +67,17 @@

# TestDesign 1.0.0

TestDesign 1.0.0 is a major release that provides structural changes to better streamline the usage of the functions, and also achieve more structured abstraction.
TestDesign 1.0.0 is a major release that provides structural changes to better streamline the usage of the functions and also achieve more structured abstraction.

## User-visible structural changes

* The function for fixed-length assembly `ATA()` is now named `Static()` to match with `Shadow()` for adaptive assembly.
* The function for fixed-test assembly `ATA()` is now named `Static()` to match with `Shadow()` for adaptive assembly.
* `Shadow()` now uses fewer arguments to match with `Static()` and to reduce redundant information in the arguments.
* `plotMaxInfo()` is removed. The functionality is merged to `plotInfo()`, which can be used by supplying a `constriants` class object to the function.
* `Static()` now does not return the plot by itself. The plotting should be done with `plotInfo()`.
* `plotInfo()` is now a S4 method.
* `plotMaxInfo()` is removed. The functionality is subsumed under `plotInfo()`, which can be used by supplying a `constriants` class object to the function.
* `Static()` now does not return the information plot by itself. The plotting should be done with `plotInfo()`.
* `plotInfo()` is now an S4 method.
* * Supplying `item_pool` object gives pool-level information plot.
* * Supplying the result from `Static` gives information plot from the selected items.
* * Supplying the result from `Static` gives information plot based on the selected items.
* * Supplying `constraints` object gives information range plot from the test length specified in the constraints.
* * The comparison in the information range plot is now based on *k* randomly drawn items instead of the *k* worst items.

Expand Down

0 comments on commit c5833ae

Please sign in to comment.