Test and Item Analysis via Shiny

Interactive shiny application for analysis of educational tests and their items.


ShinyItemAnalysis

Test and item analysis via shiny

GHversion online version cranlogs ShinyItemAnalysis is an interactive shiny application for analysis of educational tests and their items including

  • exploration of total and standard scores,
  • item and distractor analysis,
  • item analysis via logistic regression models and their extensions,
  • item analysis via IRT models,
  • training plots for dichotomous and polytomous IRT models,
  • DIF and DDF detection methods.

It also offers some training data sets but you can also upload your own data. Moreover it is also possible to generate reports.

ShinyItemAnalysis is available online at Czech Academy of Sciences and shinyapps.io. It can be also downloaded from CRAN. Visit our new web page about ShinyItemAnalysis to learn more!

Installation

# The easiest way to get ShinyItemAnalysis is to install from CRAN:
install.packages("ShinyItemAnalysis")

# Or you can get the newest development version from GitHub:
# install.packages("devtools")
devtools::install_github("patriciamar/ShinyItemAnalysis")

Version

Current version available on CRAN is 1.2.8.
Version available online at Czech Academy of Sciences and shinyapps.io is 1.2.8.
The newest development version available on GitHub is 1.2.8.

Usage

It's very easy to run ShinyItemAnalysis:

rm(list = ls())
startShinyItemAnalysis()

Or try it directly online at Czech Academy of Sciences or shinyapps.io!

Getting help and provide feedback

If you find any bug or just need help with ShinyItemAnalysis you can leave your message as an issue here or directly contact us at [email protected]. We warmly encourage you to provide your feedback using Google form.

License

This program is free software and you can redistribute it and or modify it under the terms of the GNU GPL 3.

References

For Czech speakers new paper is available online!

News

    ***************************************************************
    *                                                             *
    *  Changes and Developments in the ShinyItemAnalysis Package  *
    *                                                             *
    ***************************************************************

  • Changes in ShinyItemAnalysis 1.2.8 (2018-09-27) -

** This is CRAN version, it includes version 1.2.7.-1.-7. **


  • Changes in ShinyItemAnalysis 1.2.7-7. (2018-09-27) -

MAJOR UPDATES o Section Reliability was added. - Split-half methods including also Revelle's beta were added - Cronbach's alpha method with CI was moved to section Reliability. - Spearman-Brown formula was added. o New function ggWrightMap replaced wrightMap from WrightMap package. o Section IRT models - Selected R code for Rasch and 1PL models was updated.

MINOR UPDATES o Reference list was updated.


  • Changes in ShinyItemAnalysis 1.2.7-6. (2018-08-29) -

MAJOR UPDATES o Section DIF/Fairness - Subsection Logistic IRT Z is deprecated. - Subsection Nonlinear IRT Z is now called Generalized logistic. - Subsection Generalized logistic includes now wide range of models and different specification of DIF type. - Subsection SIBTEST was added, including SIBTEST method and Crossing-SIBTEST method.

MINOR UPDATES o Reference list was updated.


  • Changes in ShinyItemAnalysis 1.2.7-5. (2018-08-22) -

MINOR UPDATES o Some wording was updated. o Selected R code was updated. o Function theme_shiny is deprecated. New function theme_app() was created and applied for all graphics, including R functions in package.


  • Changes in ShinyItemAnalysis 1.2.7-4. (2018-08-10) -

MINOR UPDATES o Paddings were adjusted. o Acknowledgments were updated.


  • Changes in ShinyItemAnalysis 1.2.7-3. (2018-07-27) -

BUG FIXING o Crashing of the app when upload no data was fixed.

MAJOR UPDATES o Data page - Design of data page was changed. - User can now specify encoding of missing values. - Basic summary was added.


  • Changes in ShinyItemAnalysis 1.2.7-2. (2018-07-04) -

MAJOR UPDATES o Phone version - collapsible menu closes when clicked


  • Changes in ShinyItemAnalysis 1.2.7-1. (2018-07-02) -

BUG FIXING o Plotly files in IRT training section are now displayed with mode bar due a bug in plotly package.

MINOR UPDATES o Some typos were fixed. o Link to google form for feedback was added into About section. o New R icon was added into footer.


  • ShinyItemAnalysis 1.2.7. (2018-05-03) -

** This is CRAN version, it includes version 1.2.6.-1.-12. **


  • Changes in ShinyItemAnalysis 1.2.6-12. (2018-04-26) -

MINOR UPDATES o Mirror at Charles University is no longer in use.


  • Changes in ShinyItemAnalysis 1.2.6-11. (2018-04-24) -

MAJOR UPDATES o Function 'DDplot()' - Limits for y-axis were adjusted when negative values of discrimination are detected. - Warning for negative discrimination values were added. o Reports - Some unused parts of reports were excluded.


  • Changes in ShinyItemAnalysis 1.2.6-10. (2018-04-19) -

MAJOR UPDATES o UI - Some parts were splitted from main ui.R file o IRT - Exercises in IRT training were extended. o Data - Bug in data upload was fixed. Now length of criterion variable is correctly checked.


  • Changes in ShinyItemAnalysis 1.2.6-9. (2018-04-16) -

MAJOR UPDATES o Packages - shinyBS is now required. o Data - HCI dataset was added into package. - Description of dataMedical was improved. - Description of training datasets was improved. o About - Page was improved. o IRT - Helps for interactive exercises were added.

MINOR UPDATES o Typos were fixed.


  • Changes in ShinyItemAnalysis 1.2.6-8. (2018-04-13) -

MAJOR UPDATES o IRT - Expected item scores were removed from IRT training NRM. - Interactive exercises were added into IRT training - dichotomous models.


  • Changes in ShinyItemAnalysis 1.2.6-7. (2018-04-12) -

MAJOR UPDATES o Data - Graded data od Medical data set was added. - In all dataMedical data sets the criterion variable was renamed to StudySuccess. o IRT - Expected item scores were added into polytomous models in IRT training. - Selected R code was updated in IRT training.

MINOR UPDATES o IRT section - Colors of sliders and curves in IRT training section were adjusted.


  • Changes in ShinyItemAnalysis 1.2.6-6. (2018-04-10) -

MAJOR UPDATES o Regression - NLR 4P model was added into model comparison.

MINOR UPDATES o README file was updated. Typos were fixed. o Design of figures was unified. o Download button options were unified. o Selected R code syntax was improved in some sections (IRT only partionally, DIF not). o Selected R code was improved for first 4 sections. o Some wording was improved.


  • Changes in ShinyItemAnalysis 1.2.6-5. (2018-04-09) -

MAJOR UPDATES o IRT section - Wording for IRT training was added and improved. o Selected R code syntax was improved in some sections. This can be done with txt <- gsub("\n", "
", txt) txt <- gsub(" ", " ", txt) txt where txt is R code in "". o theme_shiny was created as a default theme for all figures. Now it is used only partionally.

MINOR UPDATES o README file was updated. Typos were fixed. Links were added. Hexbin was added. o References were updated.


  • Changes in ShinyItemAnalysis 1.2.6-4. (2018-04-06) -

MAJOR UPDATES o IRT section - Selected R code was added into polytomous models. - Equations were added into polytomous models. - Download buttons were added into polytomous models. - 4PL model was added. - 4PL model was added into model comparison. - Sliders in IRT training are now colored with respect to line colors. o Regression section - Section is newly organized. - NLR 4P model was added. o Reports - 4PL IRT model was added as an option. - IRT equation is generated based on selected model only. o Unnecessary files were deleted. Some cleaning of files was done.

MINOR UPDATES o IRT section - Selected R code in model comparison was updated. Typos were fixed. o Regression section - Interpretation of NLR 3P model was extended. - Syntax for NLR 3P model was improved.


  • Changes in ShinyItemAnalysis 1.2.6-3. (2018-04-05) -

MAJOR UPDATES o IRT section - IRT section is newly organized. - IRT training section was expanded by polytomous models. GRM, GPCM and NRM were added. - Syntax for IRT training was improved.

MINOR UPDATES o IRT section - Sliders steps are now 0.01 in dichotomous models.


  • Changes in ShinyItemAnalysis 1.2.6-2. (2018-04-03) -

MINOR UPDATES o Numeric inputs were removed from IRT training section. o Selected R code was extended in IRT training section by item information function plot. o References were updated. o Mirror web link was updated.


  • Changes in ShinyItemAnalysis 1.2.6-1. (2018-03-15) -

BUG FIXING o Reports with DDF but none DDF item are now correctly generated.

MINOR UPDATES o Hexbin - was added into footer. - is now as shortcut icon. o Paddings - in large devices was adjusted. - in small devices was adjusted. o Unnecessary files were deleted. o Reports - Some wording in reports was improved. - PDF report text is fully justified. - Subsections characteristic curves is not visible when none DIF or DDF item is present. - Some typos were fixed. - Some parameters were renamed. The unneecessary ones were removed.


  • Changes in ShinyItemAnalysis 1.2.6 (2018-03-01) -

MAJOR UPDATES

o UI for DIF/Fairness section was updated. o References were added into About page. o New design of reports is now available. Design of PDF reports was updated. o Wording in report was improved. o DIF/Fairness section in report was improved. o New hexbin for ShinyItemAnalysis was created and added into reports. o Sample code in DIF/Fairness IRT Lord and IRT Raju was extended to 1PL, 2PL and 3PL models. o Bugs fixing - Wording in regression plots was fixed. - Examples in DIF/Fairness IRT Lord and IRT Raju were fixed. - Function 'plotDIFirt()' now can be also used for only one item.

MINOR UPDATES

o Reference list was updated. o CITATION file was modified. o In Summary page the description for summary table was added. The sample code was updated. o Wording in summary statistics in Summary section was improved. o Description of Session info section in reports was added.


  • Changes in ShinyItemAnalysis 1.2.5 (2017-11-14) -

MAJOR UPDATES

o Correlation plots now offer reordering by hierarchical clustering. Several linkage methods are offered. This is also included in reports. o Confirmation of data upload was added. Also warnings and errors are displayed in case that something went wrong when uploading. o In IRT training - parameter theta (latent ability) is now included - the interpretation for characteristic curves is provided - horizontal and vertical lines for specified theta were added into plot for characteristic curves - selected R code was added. o In multinomial regression bug when only two choices in data are present was fixed.

MINOR UPDATES

o Link for Adela's website was added. o Columns for BIC and its adjusted version were swapped in table for IRT models comparison. Text above table was also updated. o In IRT section dpi of downloaded plots was set to 300. o In IRT training downloaded plots also include legend with parameters. o In all IRT models table with parameters includes all parameters a, b, c, d. o In IRT training equations were moved above interpretation.


  • Changes in ShinyItemAnalysis 1.2.4 (2017-08-28) -

MINOR UPDATES

o Reports were mildly updated. o Resolution of figures in reports was increased (now 300ppi) o Dependencies were updated. o Some typos fixed. o Legends of plots were unified and placed in better way for - 'NLR IRT Z' - 'DDF' - function 'plotDIFlogistic()' o Bug in item names for 'DDF' subsection of 'Fairness/DIF' section was fixed.


  • Changes in ShinyItemAnalysis 1.2.3 (2017-08-22) -

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

o Report's customized options were extended. Reports now include also dynamic description. o Author and dataset name can be now filled and add into reports. o Dataset 'difMedical' was renamed to 'MSAT-B' according to 'difNLR' package. Its description was mildly updated. o Purification options were added into 'Nonlinear IRT Z' and 'DDF' subsections of 'DIF/Fairness' sections. o Purification options was added 'DDF' analysis in 'Reports' section when customized setting is selected.

MINOR UPDATES

o Size of plots and font in plots was changed for reports. o Plots in HTML report are now centered. o Wording of reports' default option was updated. o References were updated in 'Reference' section and also in README file. o Wording of Spearman test in 'Validity' section was mildly updated.


  • Changes in ShinyItemAnalysis 1.2.2 (2017-07-26) -

MAJOR UPDATES

o Design of reports was edited. o Several bugs were fixed: - Bug when creating report for uploaded data was fixed. - Bug when creating report for data without predictive criterion or DIF group was fixed. o ShinyItemAnalysis now uses 'plotly' package!

MINOR UPDATES

o Design and options of 'Report' page were updated. o Layout of IRT curves training page was mildly changed. There are now two curves in each plot. Also text area input was added and synchro- nized with sliders. Colour of sliders now correspond to colour of curve.


  • Changes in ShinyItemAnalysis 1.2.1 (2017-07-16) -

MAJOR UPDATES

o Several bugs were fixed: - Interpretation of regression models was fixed. - Interpretation of text about correlation in Predictive validity was fixed. o ShinyItemAnalysis now used also 'data.table' package. o Data page was divided into two subpages to avoid long rendering of tables. when changing datasets. o Function 'gDiscrim' to calculate generalized discrimination was implemented. o Function 'DDplot' was edited to be able to handle generalized discrimination. Double slider was added into 'Traditional analysis page'. o Traditional analysis table was extended by adding column with generalized discrimination. This is done also in reports. o Some pages has now their own source code files: - 'Summary' - Summary.R - 'Validity'- Validity.R - 'Traditional analysis' - TraditionalAnalysis.R - 'Regression' - Regression.R - 'IRT models' - IRT.R - 'DIF/Fairness' - DIF.IRT

MINOR UPDATES

o Last three rows in regression comparison table are now bold. o Reference list was extended. o The subpage 'Distractors' of 'Item analysis' page was mildly edited. o Generalized DD plot was removed from 'Distractor' subpage. It is now available on 'Traditional item analysis' subpage. o Item patterns frequency plot is now made with 'ggplot2' package. o Names of downloaded plots were customized and their resolution was increased and size of text was descreased in some pages: - Summary - Validity - Item analysis - Regression


  • Changes in ShinyItemAnalysis 1.2.0 (2017-06-15) -

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

o ShinyItemAnalysis can now handle missing values. Newly there is an option to handle NA values as zeros in scored data. o Bug in WrightMap was fixed. o We have new contributor - Lubomir Stepanek! o New online mirrors were added. o Busy indicator and tooltips were added. o Structure of application was mildy updated. o Datasets 'dataMedical()', 'dataMedicalkey()', 'dataMedicaltest()' were updated. Group variable and criterion variable were added. o The newest versions of some packages are now required ('difNLR v 1.0.2', 'difR v 4.7', 'ggplot2 v 2.2.1', 'mirt v 1.24', 'shiny 1.0.3' and 'shinyjs v 0.9').

  • DIF/Fairness o Option of item purification was added into some DIF detection methods - Delta plot method, Mantel-Haneszel, Logistic regression with total score, Lord's test and Raju's test. o Default option of p-values adjustments in DIF detection methods was set to 'none'. o Bugs in DIF Logistic IRT Z and DIF Nonlinear IRT Z tables of parameters were fixed.
  • IRT models o IRT models are now fitted only by mirt package. o Training plots of item characteristic and information curves were added into IRT models section. o Pearson's correlation coefficient between factor scores and standardized total score was added for Bock's nominal IRT model.
  • Reports o New options for reports were added. By default no IRT models and no graphs of correlation structure are fitted. o Reports are now described in detail. o The settings of reports are now also offered in Report section. o Generation of reports is now done part by part. Once it is finished, the download button is offered. o Message boxs with warning for generation and download of reports were added.
  • Validity analysis: o Validity analysis of predictive outcome is now included on Validity page in Predictive validity section. o Now it is possible to upload predictive outcome. o Dataset 'GMAT' and 'GMATtest' from 'difNLR' package include now criterion variable which can be used in Predictive validity section. o Functions 'DistractorAnalysis()' and 'plotDistractorAnalysis()' were extended by 'matching' argument.
  • Item analysis o Barplot of answer selection proportion was added into Distractor subsection. o Diagram of custom discrimination - new version of DD plot - was added into Distractor subsection.

MINOR UPDATES

o CITATION file was added. o Maximum upload size was set to 30MB. o Item names were fixed and unified. o Some typos were fixed. o Readme file was updated. o Reports design was slightly updated. o Code was slightly updated to correspond to new versions of packages difNLR, mirt and ggplot2. o Selected code was updated. o Package dependencies were updated (packages 'knitr' and 'xtable' are now used in report generation). o Minor bug in DIF IRT (Lord and Raju) plots and downloads was fixed. o Designs of footer and navigation bar were updated. o The version for small media was designed. o Weblink for version 1.1.0 was created. o Reference list was expanded and links to online versions of articles were added.


  • Changes in ShinyItemAnalysis 1.1.0 (2016-02-02) -

*** THIS IS A CRAN VERSION ***

MAJOR UPDATES

o New overall appearence using shinythemes package. o New datasets 'dataMedical()', 'dataMedicalkey()', 'dataMedicaltest()' were added into the package. o New dataset is offered in example datasets inside the shiny app. o Bug in Distractor plots for uploaded data was fixed. o Calculation of Success Rate in Standard Scores was fixed. o Differential Distractor Functioning detection method was added. o Syntax of difNLR functions was edited to response to new version of package. o Function plotDIFirt() was updated. o Correlation structure section was added including correlation plot and scree plot. o Pages structure was changed and updated. o IRT models are now fitted by mirt package. o Subsection IRT model selection was added into IRT models section. o Wrigh maps were added for Rasch and 1PL IRT model. o Bug in data upload was fixed. o Subsection regression model selection was added into Regression section.

MINOR UPDATES

o Typos were fixed. o Selected R code was updated. o Description of data including uploading own data set was extended. o Description of Standard scores was added. o Lower panel was updated. o Rasch model was added into IRT models section. o Pearson correlation coefficient of factor scores and Z-scores were added for IRT models o Reference list was expanded. o Bug in multinomial regression for scored data was fixed. o Bug in DDF for datasets withou DIF items was fixed. o Selected code was updated.


  • Changes in ShinyItemAnalysis 1.0.0 (2016-11-25) -

*** THIS IS A CRAN VERSION ***

UPDATES

o New graphical representation via ggplot2 package o Cronbach's alpha was added o Distractor analysis was extended o More DIF detection methods were added Mantel-Haenszel test, Logistic regression, Lord's and Raju's statistic for IRT models all are now used via difR package o Delta plots were extended: fixed and normal threshold are now allowed o Multiple comparison correction methods were added into DIF detection procedures o More examples of datasets were added from difNLR package o References were added o New functions were added into the package: - 'DDplot()' function for graphical representation of difficulties and discriminations. - 'DistractorAnalysis()' function and its graphical representation 'plotDistractorAnalysis()'. - 'plotDIFirt()' and 'plotDIFLogistic()' functions for plotting characteristic curves based on IRT models and based on logistic regression.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ShinyItemAnalysis")

1.2.9 by Patricia Martinkova, 3 days ago


Report a bug at https://github.com/patriciamar/ShinyItemAnalysis/issues


Browse source code at https://github.com/cran/ShinyItemAnalysis


Authors: Patricia Martinkova [aut, cre] , Adela Drabinova [aut] , Ondrej Leder [aut] , Jakub Houdek [aut] , Lubomir Stepanek [ctb] , Tomas Jurica [ctb] , Jana Vorlickova [ctb]


Documentation:   PDF Manual  


Task views: Psychometric Models and Methods


GPL-3 license


Imports corrplot, cowplot, CTT, data.table, deltaPlotR, DT, difNLR, difR, ggdendro, ggplot2, gridExtra, knitr, latticeExtra, ltm, mirt, moments, msm, nnet, plotly, psych, psychometric, reshape2, rmarkdown, shiny, shinyBS, shinydashboard, shinyjs, stringr, xtable


See at CRAN