May 4, 2022

RALSA has been updated to version 1.2.0. The main accent in this update is introducing graphical representation of the statistics for the percentages and averages, percentiles, and benchmarks. These graphs can be included directly in the exported MS Excel output file or printed in the R’s graphic device. Here is the full list of changes in this build:

New functionality

  • The lsa.pcts.means, lsa.bench and lsa.prctls functions now have the possibility to produce graphs (optional). The graphs are included in a separate sheet in the MS Excel output file if save.output = TRUE. If save.output = FALSE, the graphs are added to the list output object in memory and can be printed in R’s graphic device.
  • The MS Excel output files from all analysis functions received an additional sheet with warnings (if any) related with the computations. So far these warnings were just printed on screen.


  • Internal reorganization of the code producing warnings related with the computations and the way they are issued.
  • Improved documentation.
  • Various code changes following the update of R to version 4.2.0.

Bug fixes

  • lsa.pcts.means – when many split variables are added, in some countries some of the rows in the estimates are repeated multiple times by the categories of the split variables.




March 30, 2022

RALSA has been updated to version 1.1.5. The update brings new functionality for an existing analysis type, new data preparation function, improvements and bug fixes. Here is what’s new in this update:

New functionality

  • lsa.pcts.means received a new argument, central.tendency, which allows users to compute either the arithmetic mean (default and available so far), median (new) or mode (new) for continuous variables.
  • New function,, a utility function that allows the user to select countries of interest from a converted PISA data file (or PISA object residing in memory) and remove the rest of the countries’ data. This is useful when the user does not want to analyze all countries data available in an original a PISA data file.


  • All analysis functions received a new argument, save.output. If TRUE (default), the output is written into MS Excel file, as it was so far. If FALSE, the output (a list of all different estimates) is printed on screen or can be assigned to an object. The argument is available in command-line use, but not in the GUI.
  • Multiple fixes in GUI for better workflow.
  • Improved documentation.

Bug fixes

  • GUI with lsa.pcts.means does not show the syntax when only splitting variables are chosen for the analysis and the GUI freezes when the analysis is ran.




March 25, 2022

Save the dates!

The International Educational Research and Evaluation Institute ( is organizing a three-day online training on using the R Analyzer for Large-Scale Assessments (RALSA) R package to analyze large-scale assessments’ and surveys’ data. The three-day training will take place from April 25 till April 27, 2022. The training includes both lectures and hands-on practice sessions.

The agenda for the training can be found here.

Please note that the number of seats for the training is limited to 15. Follow the link below to register for the training (no login is required to submit your answers).

The fee for the training is EUR 225, non-refundable (fees for no-show attendants can be used in future trainings). The registration will be confirmed once the payment has been received.

Please feel free to share this with your contacts.

If you have any further questions related to the training, do not hesitate to write us at




February 4, 2022

RALSA was updated to version 1.1.0. The update brings one more analysis type, a new feature for two of the existing analysis types, support for a new study, support for an additional datasets type within a supported study, many bugfixes, and a lot of improvements. Here is what’s new:

New functionality

  • New analysis function, lsa.crosstabs. It computes a two-way table (crosstabulations) and Rao-Scott first- and second-order design corrected chi-square statistics. The Rao-Scott adjustment is needed because of the clustered design of the large-scale assessments and surveys data.
  • Added the possibility to include two-way interaction terms in lsa.lin.reg and lsa.bin.log.reg. The interactions can be between two categorical variables, categorical and continuous, continuous and continuous, categorical with PVs, continuous with PVs, and PVs with PVs.
  • Added a new printing method for objects in memory. It prints the study name, cycle, respondent type(s), total number of countries, key, if the data has user-defined missing values or not, and a snippet of the data.

Support for a new study added

  • Support for the IEA Responses to Educational Disruption Survey (REDS) 2021 was added.

Bug fixes

  • All analysis functions. When “IDCNTRY” is added explicitly to the list of split.vars and include.missing = TRUE, the function crashes with the following error message. Thanks to Laura Ringiene.
  • lsa.prctls function. When computations involve PVs, the estimates of specific percentile appear in a wrong column, e.g. the 25th percentile columns contain the estimates for the 5th percentile columns and the other way around. Thanks to Laura Ringiene.
  • function. When the tables are exported to Excel, the “Index” sheet appears as the first one, but the file opens with the sheet with statistics for the first variable on the front.
  • GUI with and all analysis functions. When using the GUI and an output file with the same name as the specified is already opened, the GUI crashes when the respective function tries to write the new output file.
  • lsa.bin.log.reg function. The coefficients output is not sorted properly by the names of the independent variables and the desired order.
  • GUI with lsa.corr function. When the loaded data file in “Correlations” analysis contains no PVs, the radio buttons for choosing between Pearson and Spearman correlation are not shown.
  • GUI with all functions. If any error occurs during a function execution (i.e. after pressing the Execute syntax button), the GUI crashes.


  • Added support for the recently released IEA eTIMSS 2019 Problem Solving and Inquiry (PSI) tasks’ data.
  • The RALSA logos in the GUI and GUI start-up screen was replaced with higher-resolution images.
  • Various visual improvements of the GUI.
  • Updated and improved documentation.




November 16, 2021

RALSA was presented at the International Research Conference (IRC) organized by the International Association for the Evaluation of Educational Achievement (IEA). The conference is held in Dubai in three modes — onsite, online, and hybrid.

The presentation given at this conference introduced the package, its internal structure and workflow, as well as the plans for further developments. It also provided comparisons between RALSA and other software packages for analyzing large-scale assessment data. We would like to thank the IEA for giving us this opportunity, as well as to all session participants for their questions and comments. The full presentation is available here here.




October 21, 2021

RALSA was updated to version 1.0.2. This is a maintenance update and includes some bugfixes, dropping a package dependency, and some improvements. Here is what’s new:

Bug fixes

  • lsa.pcts.means function crashes with an error message when no split variables are added and both background variables and PVs are added to compute means for. Thanks to an anonymous RALSA user.
  • lsa.bin.log.reg function crashes when the variable name passed to bin.dep.var contains numeric characters.
  • lsa.lin.reg function crashes when the variable name passed to bckg.dep.var contains numeric characters.
  • When used in the GUI, the lsa.recode.vars assigns the new value labels to the recoded values in incorrect order. Thanks to multiple workshop participants at the ECER 2021 pre-conference training.


  • The gdata package is no longer needed by RALSA.
  • Start up and warning messages when dependencies are loaded during GUI start are not displayed anymore.

To obtain the new version, just update all of your R packages executing the following command:

update.packages(ask = FALSE)


For questions, training requests, feature requests, and bug reports, please write to




October 4, 2021

We are very happy to announce a new publication on the RALSA package in the Springer Open Large-scale Assessments in Education journal (an IEA-ETS Research Institute Journal). The publication entitled “RALSA: the R analyzer for large-scale assessments” is a general presentation of the R Analyzer for Large-Scale Assessments (RALSA), an R package for analyzing data from studies using complex sampling and assessment designs. The paper presents the architecture of the package, the overall workflow and illustrates some basic analyses using it. The package is open-source and free of charge. RALSA is the first comprehensive R package, designed for the user experience and has some distinctive features. For more details and access the full open access publication, refer here.




September 2, 2021

The first workshop on using RALSA was delivered as part of the annual European Conference on Educational Research (ECER) 2021 conference. This one-day workshop was delivered within the ECER 2021 pre-conference. We would like to thank all attendants for their active participation in this one-day event. We would also like to express our special gratitude to the the European Educational Research Association (EERA) and the EERA Network 9 for giving us the opportunity and for their help in organizing and delivering this training. We hope that this workshop will become a regular part of future ECER meetings.




June 12, 2021

A publication on the RALSA package software design and implementation was published in the MDPI’s Psych journal – “RALSA: Design and Implementation” ( – as part of the journal’s special issue Computational Aspects, Statistical Algorithms and Software in Psychometrics. The paper presents the technical aspects of RALSA – the overall design and structure of the package, its internal organization, and the structure of the analysis and data preparation functions. The use of the data.table package for memory efficiency, speed, and embedded computations is explained through examples. The central aspect of the paper is the utilization of code reuse practices to the achieve consistency, efficiency, and safety of the computations performed by the analysis functions of the package. The comprehensive output system to produce multi-sheet MS Excel workbooks is presented and its workflow explained. The paper also explains how the graphical user interface is constructed and how it is linked to the data preparation and analysis functions available in the package. This is an open access publication and can be accessed here.




May 28, 2021

RALSA was updated to version 1.0.1. This is a maintenance version following the update of base R to v4.1.0 where some functions’ behavior has changed and cause crashes in the analysis functions

Bug fixes

  • All analysis functions. Some functions in base R were updated and their behavior has changed causing crashes in the analysis functions with first argument has length \> 1 error messages.

  • lsa.vars.dict function. When there are just two levels for a factor variable, the second level in ?Variable levels? ends without a single quote.

  • Occasionally, the freezes R with a question mark in the console and eventually crashes the R session when split.vars are provided.





Various optimizations in the lsa.corrlsa.lin.reg and lsa.bin.log.reg functions.

  • The function now has user interruption handling with a message.




April 28, 2021

We are happy to announce that RALSA (the R Analyzer for Large-Scale Assessments) has received an update. The package version was incremented to 1.0.0 because it  has reached maturity and stability. It brings a new function, many improvements and bug fixes. Here is what’s new:

New functionality

  • RALSA has a new data preparation function,, a quick automated production of weighted or unweighted frequency tables for categorical variables and descriptive statistics for continuous variables. These tables are for data diagnostic purposes prior to analysis and are not for reporting results from large-scale assessments.


  • After updating R to v4.0.5 and the packages RALSA depends on, the warning messages in the GUI console were not displayed, although displayed in RStudio console. The warning messages are now back in the GUI console as well.
  • Showing and hiding elements in the GUI when using the benchmarks analysis type was improved.
  • The version number was incremented to 1.0.0 since the package has already achieved stability and maturity.

Bug fixes

  • All analysis functions. Any analysis function crashes when TALIS 3S data is used and the weight variable is specified explicitly.
  • All analysis functions. When ICCS teacher and school data are merged, the default weight, jakknifing zone and jakknifing replication indicator are not automatically detected and the function crashes, while specifying the weight manually passes.
  • lsa.prctls function. The order of the columns for the percentiles, their SE, SVR and MVR is scrambled.
  • All data preparation and analysis functions. When using data.object to provide data and the object is in quotes, the function crashes with uninterpretable error message. Added custom handle and error message.
  • lsa.lin.reg function. The function crashes when using specific variable combinations.
  • GUI. The filtering of the tables with country ISOs, country names, variable names and labels is very slow and oftentimes unresponsive.
  • GUI with lsa.recode.vars. Occasionally, when the lsa.recode.vars function is executed by pressing the “Execute syntax” button, the interface crashes. This is because there is a factor level for which no actual values exist in the data. Now handled with custom error message.
  • function. The school weight was dropped when merging school and teacher data in TALIS which prevented the use of the merged file in multilevel models. Thank to Jelena Veletic.

For questions, feature requests, training requests, and bug reports, please write to




March 15, 2021

We are happy to announce that RALSA (the R Analyzer for Large-Scale Assessments) has received an update (v0.90.3). It brings bug fixes and improvements. Here is what’s new:

Bug fixes

  • function. The function crashes when the different cycles of the study change the case of the file names and their extensions. Thank to Yuan-Ling (Linda) Liaw.
  • lsa.recode.vars function. If the recoding instruction ends with semicolon, the function crashes.
  • lsa.bin.log.reg function. The function crashes if some specific patterns are found in the binary dependent variable names.
  • lsa.pcts.means function. Some missing estimates in columns Mean, Mean_SE, Mean_SVR, Mean_MVR, SD_SE and SD_MVR when the groups are too small.
  • All analysis functions crash using SITES 2006 data when only mathematics teacher or only science teacher data are used.
  • lsa.pcts.means function. Some estimates using CivED data were incorrect.
  • lsa.pcts.means function. Missing estimates in some columns for specific combination of splitting variables.


  • The ISO argument in is now case-insensitive.
  • file.types and ISO arguments in are now case insensitive.
  • The error messages in lsa.recode.vars are improved.

For questions, feature requests, training requests, and bug reports, please write to




January 2, 2021

We are happy to announce that RALSA (the R Analyzer for Large-Scale Assessments) has received an update (v0.90.2). Here is what’s new:

New study cycles added


  • TIMSS 2019 is now fully supported.


New study added


  • PISA for Development is now supported, as requested by David Joseph Rutkowski.


Bug fixes

  • function. Unrecognized characters in factor levels are now fixed. Such were, for example the levels of the number of books variable in PIRLS 2016 and other cycles which displayed unrecognized characters instead of instead of “-”.
  • function. For some variables categories have the same labels as the missing ones in other variables and are improperly converted as missing.
  • GUI. When categorical variables are added in the list of Independent background categorical variables in linear and logistic regression, the number of categories (N cat. column) and the drop-down menu for the reference categories (Ref. cat. column) include the missing values as well.
  • When loading or switching to a tab in the GUI, it is scrolled to the position where the previous tab was scrolled to.


  • Various improvements for the GUI elements location.
  • Improved documentation.
  • Links to the documentation for each functionality RALSA supports were added to the Help section of the GUI.
  • Improved messages, warnings and error messages.

The binary packages for the new version will be available tomorrow (January 4, 2021), the impatient ones can install from source now. To update to the new version, just update your R packages:

update.packages(ask = FALSE)

Those who do not have RALSA installed yet, follow the installation instructions.

For questions, feature requests, training requests, and bug reports, please write to




November 10, 2020

RALSA v.0.90.1 was released!

We are proud to announce the first release of RALSA. After all the hard work of development, the first version of the R Analyzer for Large-Scale Assessments (RALSA) came to life. RALSA targets both the experienced R users, as well as those who do not have technical skills. Thus, along with the traditional command-line R interface, a Graphical User Interface is made available.

Note that this is a “first release” version, so some bugs are expected.

The R Analyzer for Large-Scale Assessments (RALSA) is an R package for preparation and analysis of data from large-scale assessments and surveys which use complex sampling and assessment design. Currently, RALSA supports a number of studies with different design and a number of analysis types (see below). The number for both of these will increase in future.

RALSA is a free and open source software licensed under GPL v2.0.

In addition to the traditional command-line R interface, RALSA introduces a Graphical User Interface for the users who lack the technical skills.

Currently, RALSA supports the following functionality:

  • Prepare data for analysis
    • Convert data (SPSS, or text in case of PISA prior 2015)
    • Merge study data files from different countries and/or respondents
    • View variable properties (name, class, variable label, response categories/unique values, user-defined missing values)
    • Recode variables
  • Perform analyses (more analysis types will be added in future)
    • Percentages of respondents in certain groups and averages on variables of interest, per group
    • Percentiles of variables within groups of respondents
    • Percentages of respondents reaching or surpassing benchmarks of achievement
    • Correlations (Pearson or Spearman)
    • Linear regression
    • Binary logistic regression

All data preparation and analysis functions automatically recognize the study design and apply the appropriate techniques to handle the complex sampling assessment design issues, while giving freedom to tweak the analysis (e.g. change the default weight, apply the “shortcut” method in TIMSS and PIRLS, and so on).

Currently, RALSA can work with data from all cycles of the following studies (more will be added in future):

  • CivED
  • ICCS
  • RLII
  • PIRLS (including PIRLS Literacy and ePIRLS)
  • TIMSS (including TIMSS Numeracy, eTIMSS will be added with the upcoming release of TIMSS 2019)
  • TiPi (TIMSS and PIRLS joint study)
  • TIMSS Advanced
  • TEDS-M
  • PISA
  • TALIS Starting Strong Survey (a.k.a. TALIS 3S)

For questions, feature requests, training requests, and bug reports, please write to or use the contact web-form.