Version 1 Main Script to run: matrixreasoning_version1.iqjs ___________________________________________________________________________________________________________________ Matrix Reasoning Task ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 07-08-2022 last updated: 07-24-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 07-24-2024 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements Millisecond Software's computerized version of a matrix reasoning task inspired by the Raven Matrix Reasoning Test of non-verbal intelligence and reasoning skills. Matrices are taken from the published matrices of Matzen et al (2010). The published software by Matzen et al (2010) can be further used to generate new and unique matrices. This script runs version1 of 5 alternate versions (Note: the five versions provided should theoretically be of similar difficulties but that has not been empiricially validated yet) Reference: Matzen, L. E., Benz, Z. O., Dixon, K. R., Posey, J., Kroger, J. K., & Speed, A. E. (2010). Recreating Raven’s: Software for systematically generating large numbers of Raven-like matrix problems with normed properties. Behavior research methods, 42(2), 525-541. https://doi.org/10.3758/BRM.42.2.525 matrices downloaded from: https://github.com/LauraMatzen/Matrices ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are given twelve 3x3 matrices. Each matrix is missing its last piece. Below the matrix are eight alternative pieces to complete the figure, only one of which is correct. Each matrix involves a different set of transformations or rule for obtaining the missing piece. The matrices are roughly arranged in increasing order of difficulty. The test is self-paced with a time limit of 2 hours (editable). The matrices run by this script are pre-selected for version1. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 20 minutes to complete (Note: time limit can be implemented) ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'matrixreasoning_versionx_raw*.iqdat' (a separate file for each participant) build: The specific Inquisit version used (the 'build') that was run computer.platform: the platform the script was run on (win/mac/ios/android) date, time: date and time script was run subject: with the current subject id group: with the current group id session: with the current session id blockCode, blockNum: the name and number of the current block (built-in Inquisit variable) trialCode, trialNum: the name and number of the currently recorded trial (built-in Inquisit variable) Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those that do not store data to the data file. version: the matrix reasoning task version run matrixCount: a counter tracks the number of matrices run level: the level of the current matrix (1, 2, 3, 4 = logic problems) matrix: the itemnumber of the current matrix matrixImage: the image file of the current matrix correctAnswer: stores the correct answer for the current matrix (1-8) number from left to right, top to bottom currentAnswer: the currently selected answer problemRT: the time (in ms) it took to work on the problem response: the response of participant Note: once response = 'submit', accuracy and final problemRT are calculated correct: correctness of response (1 = correct, 0 = otherwise) Note: accuracy is established once the submit button is pressed (aka participants commits to an answer) latency: response latency (in ms) of the current trial; measured from: onset of trial /////debugging: debugmode: for testing sessions, this parameter should be 0 (see editable parameter settings) (2) Summary data file: 'matrixreasoning_versionx_summary*.iqdat' (a separate file for each participant) inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) matrixCount: the number of matrix problems run propCorrectOverall: proportion correct across all matrices meanRTOverall: mean problem RT (across correct and incorrect solutions) across all matrices meanCorrRTOverall: mean correct problem RT across all correctly solved items /////////by Level: ///level1-3 = transformation problems ///level4 = logic problems countLevel1: the number of level1 problems run propCorrectLevel1: proportion correct across all 3 level1 items meanRTLevel1: mean problem RT (across correct and incorrect solutions) across all level1 items meanCorrRTLevel1: mean correct problem RT across all correctly solved level1 items countLevel2: the number of level2 problems run propCorrectLevel2: proportion correct across all 3 level2 items meanRTLevel2: mean problem RT (across correct and incorrect solutions) across all level2 items meanCorrRTLevel2: mean correct problem RT across all correctly solved level2 items countLevel3: the number of level3 problems run propCorrectLevel3: proportion correct across all 3 level3 items meanRTLevel3: mean problem RT (across correct and incorrect solutions) across all level3 items meanCorrRTLevel3: mean correct problem RT across all correctly solved level3 items countLevel4: the number of level4 problems run propCorrectLevel4: proportion correct across all 3 level4 items meanRTLevel4: mean problem RT (across correct and incorrect solutions) across all 3 level4 items meanCorrRTLevel4: mean correct problem RT across all correctly solved level4 items ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ By default, this script run 12 matrices that roughly increase in difficulty (see list.matrices for option to change to a random presentation of the matrizes). Each matrix provides 8 answer choices to choose from. Participants can change their selection until they press the 'Submit' button. The test is self-paced. By default, the time limit of the test is "none" which gives participants 2hours by design. Please note that the assignment of 'difficulty' in this script is based on results and discussion of Matzen et al (2010). See further notes below. The selection has not been empirically validated. Transformation Problems: //"11" => level1, difficulty1 (simple transformation) //"12" => level1, difficulty2 (diagonal transformation) //"13" => level3, difficulty3 (outward transformation) //"21" => level2, difficulty1 (2 simple transformations) //"22" => level2, difficulty2 (2 diagonal transformations) //"23" => level2, difficulty3 (1 diagonal transformation + 1 outward transformation) //"31" => level3, difficulty1 (2 simple transformations + 1 diagonal transformation) //"32" => level3, difficulty2 (1 simple transformation + 2 diagonal transformations) //"33" => level3, difficulty3 (2 diagonal transformations + 1 outward transformation) Logic Problems: //"41" => level4, difficulty1 (disjunction logic problem) //"42" => level4, difficulty2 (conjunction logic problem) //"43" => level4, difficulty3 (exclusive disjunction logic problem) The problems in this script are randomly selected from their respective problem pools. For example: list.level11 contains the itemnumber of all problems that can be selected for level1, difficulty1 problems The problem pool lists can be customized to run fixed lists instead. ///////Additional Comments: Difficulty Assignment/////// The assignment of 'difficulty' is based on results and discussion of Matzen et al (2010) Basic Progression of Difficulty: (1) Transformational Matrices a) Simple transformations (vertical and horizontal), b) Diagonal transformations c) Outward transformation Notes: Matzen et al (2010) report the general finding that the more transformations of each kind a problem contains the harder it gets. However, some restrictions apply: - For example, for level1 problems, diagonal problems were not statistically more difficult than simple transformations (2) Logic Matrices a) disjunction b) conjuction c) exclusive disjunction Notes: While Matzen et al (2010) report that the disjunction problems were easier than conjunction or exlusive disjunction problems, the difference was not statistically significant ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ matrices downloaded from: https://github.com/LauraMatzen/Matrices This script only uses the matrices that can be assigned to the level-difficulty categories defined in this script. Twelve of these items were selected to run this version of the Inquisit Matrix Reasoning Script. ///////////////////////////////////////// ////Running your own matrix problems///// ///////////////////////////////////////// By replacing the images used in this script with your own (images should conform to the layout of matrix images and images of answer choices) under item.matrices/item.matrices_answers/item.matrices_correctanswers you could run your own matrix problems with this script. ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited under section 'Editable Instructions' ___________________________________________________________________________________________________________________ EDITABLE CODE ___________________________________________________________________________________________________________________ check below for (relatively) easily editable parameters, stimuli, instructions etc. Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment. The parameters you can change are: / timeLimitMS = "none" //the time limit (in ms) for all problems //by default, there is no time limit for this problem ("none"). //If set to "none" the script will terminate after 2 hours if not completed earlier / showTimer = false //true = show a timer in the upper right corner of the screen //false = don't show the timer //Debugging Parameter: / debugmode = 0 //1 = the script provides the correct response to double check the correctness of the coding //0 = no correct response is provided on screen (should be used for testing)