November 15, 2021 at 2:31 pm #7502afarinParticipant
That works, thanks so much!December 10, 2021 at 12:15 pm #7600
I’m wondering if you have any advice on the following. I’m running an experiment (https://farm.pcibex.net/r/ldGLsD/) in which people have to watch some videos and decide between some other videos. The issue that keeps coming up is that every once in a while the preload will simply take forever for participants to download or will simply not download at all. The file is not too big (~55MB), so a long download is a little surprising. I’ve warned participants (at many points) to use a desktop and to do the experiment on firefox. And, they have told me that, indeed, they are. Yet, this keeps happening for what appears to be a somewhat “random” subset of participants. In my many tests of the experiment, I haven’t ever encountered the problem.
Do you think this is a server issue? I’m currently hosting on Dreamhost using a shared hosting service. I’ve talked to them to see if there is a server issue on their end, but they didn’t report any outages during the times my participants were having issues. But, I was considering moving to a VPS to get a bit more control to see if this might help. But, I wanted to see if you think there is something else I can be doing to get these downloads more consistent?December 10, 2021 at 3:48 pm #7601
This is an issue I’ve been working on. I’m currently writing the next release of PennController. It’s still a beta, but hopefully it should be stable enough to run your experiment. I’ve uploaded it to a copy of your project and the preloading seemed much improved:
Let me know if you still experience issues
JeremyDecember 10, 2021 at 6:00 pm #7602
I’m somewhat relieved to know that this isn’t an issue on my end and very grateful that you’ve already got a fix in the works!! Lucky me!!
From your earlier message, my understanding was that I don’t have to change anything, my experiment is now operation on the beta version of PennController. Assuming I’ve understood you correctly, I’ve just tested the experiment out on my own computer and it seems to work fine. But, that doesn’t say much since I can’t seem to get a “bad” preload anyway (for me, the preload is always very quick / instantaneous).
Do you have any suggestion about how to see if the new preload for others (aside from running a new batch of participants)?
As always, thanks so much for your help and attention! 🙂December 10, 2021 at 6:36 pm #7603
In my case preloading was taking a while when I tried the experiment at your link a couple time, then I uploaded version 2.1-beta and preloading went much faster
Unfortunately I don’t know what exactly caused the issue, so not sure how you can test it systematically
JeremyDecember 20, 2021 at 1:23 pm #7629
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.December 20, 2021 at 2:54 pm #7630
1. This is just a warning, not an error: you have more than one Text element named ” ” in your trial. If you were to use
getText(" ")later in that trial, PennController would have to guess which of those Text elements you mean, so you’re being warned that the next three Text elements are being named with a
4suffix. I took a look at your code and you don’t actually need those Text elements, you could do that:
defaultText.print(), defaultButton.css("margin","0.5em").print() , newText("<p>¿Quiénes pueden subirse a la montaña rusa?</p>") .center() .css("font-size", "large") , newButton("1", "les niñes"), newButton("2", "los adultos"), newButton("3", "personas mayores de 10 años"), newButton("4", "todos") , newSelector() .add(getButton("1"), getButton("2"), getButton("3"), getButton("4")) .shuffle() .keys("1", "2", "3", "4") .log() .wait()
2. Are you saying that when you press the “2” key when, for example, the
shufflecommand made the Button named “3” appear as the second option, you see “2” where you would expect “3” in the results file? I tried adding and
waiting for a Button element after the Selector element’s
waitcommand, and I see that the framed button does correspond to the key I press (ie. the button displayed second in a top-down order is framed, regardless of which button it is)
JeremyDecember 20, 2021 at 7:40 pm #7631
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.December 20, 2021 at 7:45 pm #7635
randomize(anyOf("sentence_noquestion", "sentence_w/question"))instead of
JeremyDecember 20, 2021 at 8:35 pm #7636
Thanks, Jeremy! That worked perfectly!January 10, 2022 at 3:30 pm #7662
I wanted to follow up on that preloading time issue I mentioned before.
Indeed, it seemed like folks were able to preload much faster (Thanks again for the fix!), at least for the people working in Chrome. However, I think there was an issue in Firefox. Participants were able to load just find in Firefox before the new Beta Penncontroller, participants afterwards reported not being able to load at in Firefox. Once they switched over to Chrome the files loaded almost instantly. Just thought you should know for later versions!
Happy new year!
MonicaJanuary 10, 2022 at 3:44 pm #7663
Thank you for following up! It’s funny, when I edit the experiment you shared above (https://farm.pcibex.net/r/ldGLsD/) and upload PennController 2.1 beta to the Modules folder and then test it on Firefox, everything just runs smoothly: I don’t experience any preloading time and the videos play back normally. It’s actually when I don’t upgrade to 2.1 beta that I experience preloading times. This will be hard to troubleshoot…
Anyway, happy new year to you too!
JeremyFebruary 9, 2022 at 6:32 pm #7733ArefParticipant
I want to design a masked priming experiment and I’ve been trying to use the template masked priming experiment in the projects part to understand how it works (I’m new to coding!). One problem that I’m having is that I can’t use the code that you mention in the advanced tutorial section to tidy the results so that I can calculate the RTs. I’m trying this code:
tidied_results <- results %>% filter(PennElementName == "target" | PennElementName == "answerTarget") %>% select(Group, Condition, Expected, PrimeType, PennElementName, Value, EventTime) %>% group_by(Group, Condition) %>% mutate(event = case_when(PennElementName == "target" ~ "target_onset_time", PennElementName == "answerTarget" ~ "selection_time"), selection = case_when("F" %in% Value ~ "word", "J" %in% Value ~ "non-word", FALSE ~ NA_character_), EventTime = if_else(EventTime == "Never", NA_real_, suppressWarnings(as.numeric(EventTime)))) %>% ungroup() %>% select(-PennElementName, -Value) %>% pivot_wider(names_from = event, values_from = EventTime) tidied_results %>% view()
The problem is that I get more than one value in the ‘target_onset_time’ and ‘selection_time’ columns.
What am I doing wrong?
ThanksFebruary 9, 2022 at 7:16 pm #7736
The problem is that I get more than one value in the ‘target_onset_time’ and ‘selection_time’ columns.
group_byfunction needs to identify a single “target” and “answerTarget” line per tidy group, but
group_by(Group, Condition)will get you at least 6 lines per tidy group (based on the content of list.csv in the Masked Priming template project: 6 A-transparent, 6 A-opaque, 6 A-nw_fillers, 6 B-transparent, 6 B-opaque and 6 B-nw_fillers, to be exhaustive). If you have more than one submission, you’ll have just as many times 6-lines, because you are not grouping by submission either
You could use
group_by(ID, Order.number.of.item)instead (assuming you don’t have more than one submission with the same ID). Just make sure to also include those columns in your
select(ID, Order.number.of.item, Group, Condition, Expected, PrimeType, PennElementName, Value, EventTime)
JeremyFebruary 9, 2022 at 7:27 pm #7737ArefParticipant
Thank you so much, Jeremy. It worked.
- You must be logged in to reply to this topic.