Avery

Forum Replies Created

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • Avery
    Participant

    Hi Jeremy,

    I did not–that was the issue, I was missing “Counter” in the Sequence list.

    Thank you so much for all of your help with this!

    Avery
    Participant

    Thank you so much! I guess in that case I have one final question (sorry).

    I added SetCounter(“counter”, “inc”, 1) to the beginning of the experiment. I’d thought that would fix the issue, but what I’m realizing now is that even when I refresh the experiment, the experiment always seems to be loading Sentence 2 (from Group B). The CSV file is identical to what I pasted above, but with “sentence 1” and “sentence 2” replaced by actual sentences, and more test trials below.

    Here’s a more complete version of the relevant portion:

    Template(PennController.GetTable("fulldesign.csv")
        .filter( variable => variable.itemType == "instructions" ),
        variable =>
    newTrial("directions",
         // Automatically print all Text elements, centered
        newText("<p>Welcome! Please read the following information carefully.</p>")
            .print()
        ,
        newText("instruc",variable.Sentence)
            .bold()
            .print()
        ,
        newText("<p>Please enter your Amazon Worker ID below, and then click the button below to view some practice examples before the experiment starts. Note that your Amazon Worker ID is not your email. You can find your Worker ID in the MTurk Dashboard.</p>")
            .print()
        ,
        newTextInput("inputID", "")
            .center()
            .css("margin","1em")
            .log()
        ,  
        newText("idInst", "Amazon Worker ID:"),
        newCanvas(500,75)
            .add(   0 , 20 , getText("idInst") )
            .add( 150,  0, getTextInput("inputID") )
            .print()
        ,    
        newButton("validate","I have read the above information")
            .center()
            .print()
            .wait(
                getTextInput("inputID").test.text(/[^\s]+/)  
                    .failure( newText("Please enter your Amazon Worker ID.").color("red").print() )
            )
    )
    )

    Any advice is appreciated!

    Avery
    Participant

    Thank you so much, Jeremy!

    I have one more question for you. It’s about group selection. I know PCIbex is intended to automatically split participants by group, but it doesn’t seem to be doing so for our experiment. Critically, participants in one group receive different instructions. The CSV file looks like this:

    ItemNumber,Sentence,compQ,corrAnsw,itemType,Group
    1,"Instructions1",NA,NA,instructions,A
    1,"Instructions2",NA,NA,instructions,B
    0,"test sentence 1",1,item,A
    1,"test sentence 2",0,item,A

    In the actual instructions block, the critical manipulation is here:

    
    Template(PennController.GetTable("fulldesign.csv")
        .filter( variable => variable.itemType == "instructions" ),
        variable =>
    newTrial("direcitons",    
    newText("instruc",variable.Sentence)
            .bold()
            .print()
    )
    )
        

    But it always loads the same sentence on refreshing. Is this intended behavior?

    in reply to: disable a button after selection #5034
    Avery
    Participant

    That makes sense–dumb error on my part. Thank you!

    in reply to: Using Group for two different blocks #5000
    Avery
    Participant

    Ah, that did it! I saw the other Group column and was confused, but now that I’ve added that line, it records as expected.

    Thanks again!:)

    in reply to: Using Group for two different blocks #4996
    Avery
    Participant

    Thank you for the reply, and sorry for the poor description, but yes! That’s what I’m trying to do.

    What I had tried was basically this

    Trial,trialImage,trialAudio,Group,Block,imageLeft,imageRight
    1,blanket.jpg,blanket_accent.mp3,A,training,NA,NA
    2,fridge.jpg,fridge_accent.mp3,A,training,NA,NA
    3,bed.jpg,bed_accent.mp3,A,training,NA,NA
    1,blanket.jpg,blanket_accent.mp3,B,training,NA,NA
    2,fridge.jpg,fridge_accent.mp3,B,training,NA,NA
    3,bed.jpg,bed_accent.mp3,B,training,NA,NA
    1,NA,hand_accent.mp3,A,test,hand.jpg,unlabeled1.jpg
    2,NA,egg_accent.mp3,A,test,unlabeled2.jpg,egg.jpg
    3,NA,milk_accent.mp3,A,test,milk.jpg,unlabeled3.jpg
    1,NA,hand_accent.mp3,B,test,hand.jpg,unlabeled1.jpg
    2,NA,egg_accent.mp3,B,test,unlabeled2.jpg,egg.jpg
    3,NA,milk_accent.mp3,B,test,milk.jpg,unlabeled3.jpg
    

    where Group of course was Group and Block was Block, like yours. I suppose the .CSV is correct, then, so now I’m wondering why it seems to have trouble. It moved through the trials and selected a Group just fine before I added the training trials.

    Here’s the rest, basically:

    
    
    //training
    Template( PennController.defaultTable.filter("Block","training") ,
        variable => 
        newTrial(
        newAudio("trainingAudio",variable.trialAudio)
            .play()
        ,
        newImage("trainingImage", variable.trialImage)
            .print()
        ,
        newKey("J")
            .log()
            .wait()
        )
    .log( "ID" , getVar("ID") )
    
    )    
    
    //test
    Template( PennController.defaultTable.filter("Block","test") ,
        variable => 
        newTrial(
        newAudio("testAudio",variable.trialAudio)
            .play()
        ,
        newImage("left", variable.imageLeft),
        newImage("right", variable.imageRight),
        newCanvas(1400,680)
            .add(   0 , 0 , getImage("left") )
            .add( 730, 0 , getImage("right") )
            .print()
        ,
        newKey("FJ")
            .log()
            .wait()
        )
    .log( "ID" , getVar("ID") )
    
    )    
    
    SendResults()
    

    It’s adapted right from the tutorial. I used defaultTable because my CSV is currently the only one in the folder.

Viewing 6 posts - 1 through 6 (of 6 total)