Condition assignment

27 views
Skip to first unread message

Jenna Swart

unread,
Aug 4, 2022, 7:28:04 AM8/4/22
to Minno.js
Hi there!

Within my study, participants are randomly allocated to see one of four vignette scenarios but when I download the data I cannot see which of the four pages each participant saw


Any advice on where I can find that information in the csv or txt files?

Thanks, 

Jenna

Jenna Swart

unread,
Aug 5, 2022, 8:27:26 AM8/5/22
to Minno.js
Or if there is a way to access data which shows which page each user saw or the exact steps that the server/user has gone through such as a programming output? I have combed through the 'sessionTasks.txt.'  and 'sessions.txt' file but it doesn't show which page each user was shown. 

Any help would be greatly appreciated!

Yoav Bar-Anan

unread,
Aug 5, 2022, 1:28:43 PM8/5/22
to Jenna Swart, Minno.js
HI Jenna, 

In Project Implicit's current server, the names of the tasks in the study are saved in the "sessionTasks.txt" file. In that file, the name of each task is saved in the task_id column. The order is saved in task_number. The column task_creation_date is the time that the task was requested by the participant, so it can be used to measure how much time the participant spent in each task. 
If a manipulation in a study used different task names for each condition, then one can learn the condition of each participant from the task names. Most researchers use different tasks for different conditions, so usually, that will be the place to look for the conditions.

However, sometimes a study condition is assigned by other means. For example, one can use code in the manager file, to randomly choose stimuli or even conditions. For example this code:
 var demandCond = API.shuffle(["assimilative", "contrast", "both", "none"])[0];

That code uses the API's shuffle function to shuffle the order of the array and then read only the first cell of that array into the variable demandCond. Later, other code will use demandCond for the manipulation. 
In this case, the condition is not saved unless you save it. For that, the function API.save is the current best method to save a variable. For example, with the following code, I saved a bunch of conditions for each participant, in the manager file:
API.save({
   commit:commit,
   demandCond:demandCond,
   cspos1:cspos1,
   cspos2:cspos2,
   csneg1:csneg1,
   csneg2:csneg2,
   csneu:csneu
});

One general note: always analyze the data saved by your study before running the study. That is a part of the study testing before deploying it. Not doing so does not only waste your time, it also wastes the participants' contribution of time and effort.

I hope that helps,
Yoav


--
You received this message because you are subscribed to the Google Groups "Minno.js" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minnojs+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/minnojs/4005ef95-9d3b-445f-9b55-20848598c5d7n%40googlegroups.com.

Jenna Swart

unread,
Aug 5, 2022, 1:57:07 PM8/5/22
to Minno.js
Thank you so much for your response, really helpful for developing my knowledge of the platform! 

It is a random selection of a text page within a task(hope that makes sense!): 


API.addSequence([
       
   
   
            {
            mixer:'choose',
            n:1,
            wrapper:true,
            data: [
                {inherit:'basicPage1'},
                {inherit:'basicPage2'},
                {inherit:'basicPage3'},
                {inherit:'basicPage4'}
                ]
           
        },  

So it has not saved under 'sessionsTasks.txt' and  I'm not sure whether the API.save function will work for this? 

Thanks, 

Jenna


Yoav Bar-Anan

unread,
Aug 5, 2022, 2:21:16 PM8/5/22
to Jenna Swart, Minno.js
Can you please send a link to the study files (as requested in the group's posting guidelines)? The chosen task (basicPage1-4) was supposed to appear under task_id in sessionTasks.txt.  

Yoav

Jenna Swart

unread,
Aug 5, 2022, 2:24:57 PM8/5/22
to Minno.js

Jenna Swart

unread,
Aug 5, 2022, 2:26:07 PM8/5/22
to Minno.js

Yoav Bar-Anan

unread,
Aug 5, 2022, 3:28:04 PM8/5/22
to Minno.js
I see that the randomization was in the miQuest file (the questionnaire file) and not the manager file, using an 'info' question. The 'info' question is not saved to data, so I believe that there is no way to know which was chosen. 

There are a few solutions for this. One is to use the shuffle code I mentioned earlier (API.save will send the condition to the explicit.txt file), and then use the condition for choosing the questions in the questionnaire script, with a branch mixer (the condition in the branch will depend on a variable that you will save in the global variable). 

Another solution is to create four questionnaire tasks in the manager, one for each condition, all using the same questionnaire file, but each defined a different variable that would set the manipulation. The condition in that case will be saved in the sessionTasks file. 

For example. This is how you define the questionnaire in the manager's script:
q1: [{
            type: 'quest',
            name: 'qqq',
            title: 'Study',
            scriptUrl: 'qqq.js',
            current:{v:'Mohammed is and all the rest of the text of condition 1.'}
        }],
        q2: [{
            type: 'quest',
            name: 'qqq',
            title: 'Study',
            scriptUrl: 'qqq.js',
            current:{v:'Mohammed is and all the rest of the text of condition 2.'}
        }]

Then in the manager's sequence:
{
            mixer:'choose',
            n:1,
            data :
            [
                {inherit: 'q1'},
                {inherit: 'q2'}
            ]
  }

And in the questionnaire, you will use only one question that gets its text from current.v, using an inline template:
    API.addQuestionsSet('Vignette', [{
        type: 'info',
        name: 'HAHC',
        color:'blue',
        stem: '<div id="scoped-content"><style type="text/css" scoped>h1 { font-size:1.2em; }</style><h1><%=current.v%>.</h1></div>'
    }]);


Yoav

Jenna Swart

unread,
Aug 5, 2022, 4:01:43 PM8/5/22
to Minno.js
Thank you so much, that's really helpful.
Reply all
Reply to author
Forward
0 new messages