IRW datasets are hosted on Redivis, a platform for academic data sharing and analysis. There are a few different ways you can access IRW data—whether you’re just browsing, downloading tables, or working programmatically in R or Python.
NOTE: While you can explore datasets without logging in, a Redivis account is required to download data or use programmatic tools. You can create an account here.
The sections below walk through each access option and include example code to help you get started.
Option 1: Browse and Download from the Redivis Web Interface
If you’re just looking to explore or manually download individual datasets, you can:
Download tables as CSV files from the Redivis web interface (Redivis login required).
This is the simplest way to get started if you don’t need programmatic access.
Option 2: Use the irw R Package (Recommended)
We recommend the irw R package if you work in R and want a simple, streamlined way to access IRW data. For complete setup instructions and a reference guide to available functions, visit the package website here.
On first use, you’ll be prompted to log in with your Redivis account and grant access via OAuth. This authentication step is required once per R session. For details, see the “Redivis Authentication” section on the package website.
Setup & Example Usage
Code
# Install and load the packagedevtools::install_github("itemresponsewarehouse/Rpkg")library(irw)irw_info() # Overview of the IRWirw_list_tables() # List available tablesirw_filter(var ="rt") # Search for tables with a specific variabledf <-irw_fetch("4thgrade_math_sirt")
Option 3: Use Redivis Client Libraries (R or Python)
If you prefer working outside of R or want low-level access to Redivis features, you can use the official Redivis client libraries. These are available for both R and Python.
Example access to IRW with Redivis Client Libraries:
# first install redivis R package: devtools::install_github("redivis/redivis-r", ref="main")library("redivis")dataset <- redivis::user("datapages")$dataset("item_response_warehouse") # connect to IRWdf <- dataset$table("4thgrade_math_sirt")$to_tibble() # download data
Code
# first install redivis Python package with `pip install --upgrade redivis`import redivisdataset = redivis.user('datapages').dataset('item_response_warehouse') # connect to IRWdf = dataset.table('4thgrade_math_sirt').to_pandas_dataframe() # download data
How to use the Redivis Client Libraries
There are two main ways to use the Redivis client libraries:
Use a Redivis Notebook
Redivis notebooks come preloaded with the latest library – no installation or authentication required. Ideal for first-time users or lightweight workflows.
We also provide some example workflows with IRW in Redivis notebooks here.
Use in Other Environments (e.g., RStudio, Jupyter, Colab, etc.)
Requires installing the appropriate client library (see example code above for installation)
You will need to authenticate with your Redivis account (First-time use will prompt browser login for OAuth), or you may also use API tokens for authentication for long-running jobs (see here for more information about how to generate and set up your API token).
For more detailed setup and usage examples, see the full Redivis R and Python client documentation here:
We next provide some examples for working with IRW data. The below code blocks import multiple datasets from the IRW and compute some simple metadata (e.g., the number of responses). This should be a useful starting point for conducting your own analyses of the data.
Here is a slightly more complex example that takes advantage of irw to easily fetch a dataset and to then compute the InterModel Vigorish contrasting predictings for the 2PL to predictions from the 1PL for an example dataset (using cross-validation across 4 folds; see also the documentation in the related imv package). Note the irw_long2resp function which is helpful for reformatting IRW data from long to wide.