Forum Replies Created
-
AuthorPosts
-
noedoc1Participant
Thanks a lot, Jeremy! This worked perfectly!
noedoc1ParticipantHi Jeremy! I dowloaded the results file and I am having some problems identifying the key pressed in the lexical decision task. I put the .log command on both the newKey and the getKey, but on the results file it says (failed keypresses happened). I pressed the keys following a pattern, so there should be several 1 answers, several 0 answers, several null answers (which are time-out answers; this are actually displayed), several 1 answers and so on…
I also don’t understand why all the information about the pressed keys are at the bottom, and not on each trial. Do you see what the problem is?Here is the relevant code:
Template( "list.csv" , row => newTrial( "test" , // Display all Text elements centered on the page, and log their display time code defaultText.center().print("center at 50vw","middle at 50vh").log() , // Automatically start for Timer elements when created, and log those events defaultTimer.log().start() , // Mask, shown on screen for 250ms newText("mask","########"), newTimer("maskTimer", 250).wait(), getText("mask").remove() , // Prime, shown on screen for 28ms newText("prime",row.prime), newTimer("primeTimer", 28).wait(), getText("prime").remove() , // Mask, shown on screen for 14ms newText("blanco"," "), newTimer("blancoTimer", 14).wait(), getText("blanco").remove() , // Mask, shown on screen for 46ms newText("mask2","$$$$$$$$"), newTimer("maskTimer2", 46).wait(), getText("mask2").remove() , // Target, shown on screen until 1 or 0 is pressed newText("target",row.target) , newVar("rt") .global() .set(v=>Date.now()) , newTimer("hurry", 3000) .log() , newKey("answerTarget", "10") .log() .callback(getTimer("hurry").stop()) , getTimer("hurry").wait() , getKey("answerTarget") .test.pressed() .success(getText("target").remove()) .failure(getText("target").remove()) .log() , getVar("rt") .set(v=>Date.now()-v) , newText("*") .css("font-size", "x-large") .center().print("center at 50vw","middle at 50vh") , newTimer("*timer", 250).wait() , getText("*") .remove() // End of trial ) .log( "rt", getVar("rt")) // guardo el tiempo .log( "Group", row.Group) // Group o lista .log( "cond", row.cond) // condición (1, 2, 3, 4) .log( "cond_prime", row.cond_prime) // condición del prime (congruente, incongruente) .log( "cond_target", row.cond_target) // condición del target (congruente, incongruente) .log( "morf_prime", row.morf_prime) // morfología del prime (femenina o masculina) .log( "morf_target", row.morf_target) // morfología del target (femenina o masculina) .log( "rta_esperada", row.rta_esperada) // respuesta esperada (1 o 0, 1 para sí/palabra y 0 para no/nopalabra) .log( "tarea", row.tarea) // tipo de tarea (mujer_neutros; varon_neutros) )
And here is the demonstration link: https://farm.pcibex.net/r/nwrPpa/
Thanks in advance!
noedoc1ParticipantThanks, Jeremy! This solved my problem!
February 22, 2022 at 5:26 pm in reply to: Proceeding to the next trial based on different conditions #7785noedoc1ParticipantHi Jeremy!
Thanks for the explanation and the code. I’ve tried it and it worked perfectly.
Thanks for all your patience!February 18, 2022 at 11:14 am in reply to: Proceeding to the next trial based on different conditions #7773noedoc1ParticipantHi Jeremy!
I have a similar problem to supadhye’s.
I have a completion experiment and I want to impose two limits on the completions:
– I want participants to complete two or more words, not only one (this I have already done)
– and I want a time limit. So, for example, if a participant is more than one minute in the experiment, I want it to automatically pass on to the next trial and an error message that says: “Too slow”.So far I have this, but it is not working: the timer doesn’t stop the trial and the error message doesn’t appear. Do you have any suggestions?
// Practica 1 newTrial("p1", newText("Complete con lo primero que venga a su mente, recuerde que tiene que ser más de una palabra:</p></p>") .center() .color("blue") .print() , newTextInput("rta_p1") .css("font-size", "14px") .center() .before(newText("La señora empujó al padre del niño que ")) .log() .lines(0) .size(250, 22) .print() , newTimer("hurry", 1000) .start() , getTimer("hurry") .test.ended() .success(newText("lento", "¡Muy lento!").print(), getTextInput("rta_p1")) , newButton("prox", "Próxima") .css("font-size", "medium") .css("margin","1em") .color("blue") .center() .print() .wait(getTextInput("rta_p1").test.text(/^\s*\S+(?:\s+\S+)+\s*$/) .failure(newText("Es necesario completar el recuadro con más de una palabra para pasar a la próxima oración").center().color("red").print())) )
Also here’s the demonstration link: https://farm.pcibex.net/r/ooxFkv/
Thanks a lot!
Noelia.
noedoc1ParticipantThanks, Jeremy! That worked perfectly!
noedoc1ParticipantHi Jeremy!
1. Thanks for the coding tip! I included this and saved a few lines.
2. I am saying the other way around. However, you are right I double checked the results and I don’t know what I saw the first time, but it is correct now. I have the keys linked to the position in which the options are displayed and that’s how I need them, so perfect!
I have one more question. As I said before, I have two templates (sentences with questions and sentences without) and I want all the items to be randomized. I have just run the experiment complete and I saw that the items are always one with question and then one without, but I also want this to be mixed. For example, I need something like: sentence_noquestion, sentece_w/question, sentence_noquestion, sentence_noquestion, sentece_w/question, sentence_noquestion, sentece_w/question, sentece_w/question, sentece_w/question, sentence_noquestion and so on.
If I want that to occur, is this the right code?Sequence("welcome", "practice1", "practice2", shuffle("practice3", "practice4", "practice5"), "practice6", "start", "setcounter", rshuffle("sentence_noquestion", "sentence_w/question"), SendResults(), "end")
This is the link to the experiment: https://farm.pcibex.net/r/gfhJxp/
And thanks again for all the help!
Noelia.
noedoc1ParticipantHi Jeremy!
I’m importing an old experiment form IBEX and I’m having some problems.
1. It’s a SPR experiment and I have comprehension questions in some items so I decided to do two templates: one for the items without questions and one for the items with questions. I’m getting this error and I don’t understand what I’m doing wrong:
[14:15:34] Found an existing Text element named “ ”–using name “ 4” instead for new element (newTrial: 20)
This is the demonstration link: https://farm.pcibex.net/r/gfhJxp/
2. The second problem I have is that I have four answer options and I want participants to answer pressing 1, 2, 3 or 4. I also want the answers to be presented randomly. However, the way that I’ve programmed it, the “2” key is linked to the second answer that I programmed, but not necessarily to the second answer displayed in the experiment. I tried placing the keys after the shuflle() command, but that didn’t work either. Do you know if there’s a way around this? Here’s what I have so far:
newText("¿Quiénes pueden subirse a la montaña rusa?") .center() , newButton("1", "les niñes") .print() , newButton("2", "los adultos") .print() , newButton("3", "personas mayores de 10 años") .print() , newButton("4", "todos") .print() , newSelector() .add(getButton("1"), getButton("2"), getButton("3"), getButton("4")) .shuffle() .keys("1", "2", "3", "4") .log() .wait() )
As always, thanks so much for all your help!
Noelia.
noedoc1ParticipantThanks, Jeremy! I’ll be checking and deleting the results file then to avoid any inconvenience.
noedoc1ParticipantThank you, Jeremy! I changed the table and it’s working perfectly now!
noedoc1ParticipantHi, Jeremy!
I am programming a self-paced reading experiment and I was having the same problem as Juliana so I replaced the ” on my table for ‘. However, now I’m getting a bigger error. I think it’s not related to this, but rather it has something to do with the programming of the self-paced reading template.
Here is the demonstration link to my experiment: https://farm.pcibex.net/r/EWhHDp/
If you could take a look at it I would really appreciate it!
Thanks!
Noelia.PS: Thanks for including special characters in this new version of the PCIbex, as a Spanish speaker I really appreciate it!
noedoc1ParticipantHi, Jeremy! Thanks! Yes, I was actually wondering how that worked. I had 500 participants and their responses which I downloaded and erased a few days ago. So for future experiments I’ll be erasing more often the results files!
Thanks again!
Noe.noedoc1ParticipantGreat! Thanks, Jeremy, for all the tips and explanations!
noedoc1ParticipantYes, I’ve tried it out and the reading times are ok in almost all questions, however there are some cases where I have a difference of 2 or 3 miliseconds. This doesn’t change the times, but I was wondering why this was happening.
I also have one more question (I promise it’s the last one!). I am uploading the sentences from a table and I want to randomize the presentation. So I put this at the beggining:
Sequence("bienvenida", "identificacion", randomize("experimento"), "enviardatos", "despedida")
I get the sentences presented in a random order, but it’s always the same random order. So then I checked an old PCIbex script and change the code to this:
Sequence("bienvenida", "identificacion", shuffle(randomize("experimento")), "enviardatos", "despedida")
But it didn’t work either, it gets the sentences in the same random order. Do you spot what I’m missing?
Thanks!
Noe.noedoc1ParticipantThanks, Jeremy! This worked perfectly! I also wanna get the question reading time, so considering what you’ve sent, I wrote this. I just wanted to run it by you to check if it’s ok where I place the second RT variable:
Template( variable=> newTrial("experimento", newText("*") .css("font-size", "1.3em") .print() , newKey(" ") .wait() .log("all") .disable() , getText("*") .remove() , newText(variable.oracion) .css("font-size", "1.3em") .print() .log() , newVar("RToracion") .global() .set(v=>Date.now()) , newKey(" ") .wait() .log("all") , getVar("RToracion") .set(v=>Date.now()-v) , getText(variable.oracion) .remove() , newText(variable.pregunta) .css("font-size", "1.3em") .print() , newVar("RTpregunta") .global() .set(v=>Date.now()) , newButton("fem.s", variable.uno) .css("font-size", "1.3em") .print() , newButton("mixto", variable.dos) .css("font-size", "1.3em") .print() , newButton("fem.p", variable.tres) .css("font-size", "1.3em") .print() , newButton("masc.s", variable.cuatro) .css("font-size", "1.3em") .print() , newButton("masc.p", variable.cinco) .css("font-size", "1.3em") .print() , newButton("fem.tres", variable.seis) .css("font-size", "1.3em") .print() , newButton("ninguna", variable.siete) .css("font-size", "1.3em") .print() , newSelector() .add(getButton("fem.s"), getButton("mixto"), getButton("fem.p"), getButton("masc.s"), getButton("masc.p"), getButton("fem.tres"), getButton("ninguna")) .shuffle() .log("all") .wait() , getVar("RTpregunta") .set(v=>Date.now()-v) ) .log( "RToracion" , getVar("RToracion") ) .log( "RTpregunta" , getVar("RTpregunta") ) )
Thanks again for everything!
-
AuthorPosts