Data repetition during collection

PennController for IBEX Forums Support Data repetition during collection

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #6697
    Muxuan He
    Participant

    Hi,

    When I collected some pilot data for a self-paced reading experiment, I found there was repetition in the data of one participant (one out of four and also the first) . As you can see below, the same trial was repeated three times (sometimes it’s twice with another trial) in the data recording but the time log was not affected. Generally speaking, this didn’t happen that frequently with the data of this participant. However, it can be a problem when there are much more subjects and I have to use R to clean the collected data. I wonder if this is a problem that happens for a known reason and if so, why? Should I be worried about it?

    Also, this participant is actually myself. I have personally tried the experiment twice so the second participant in the results (which is not shown here) was myself as well. The tricky thing here was no trail was repeatedly recorded in my second try as well as all the other pilot data collected from participants in different cities and countries.

    (There is another question after this part of data display!)

    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 10 吃西餐。 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 9 经常 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 8 她 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 7 ,所以 1614916491873 hmx 38 1 85 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 6 西餐 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 5 喜欢 1614916491873 hmx 38 1 83 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 4 最 1614916491873 hmx 38 1 86 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 3 她 1614916491873 hmx 38 1 83 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 2 牛排 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 1 小红说 1614916491873 hmx 38 1 501 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 10 吃西餐。 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 9 经常 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 8 她 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 7 ,所以 1614916491873 hmx 38 1 85 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 6 西餐 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 5 喜欢 1614916491873 hmx 38 1 83 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 4 最 1614916491873 hmx 38 1 86 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 3 她 1614916491873 hmx 38 1 83 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 2 牛排 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 1 小红说 1614916491873 hmx 38 1 501 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 10 吃西餐。 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 9 经常 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 8 她 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 7 ,所以 1614916491873 hmx 38 1 85 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 6 西餐 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 5 喜欢 1614916491873 hmx 38 1 83 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 4 最 1614916491873 hmx 38 1 86 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 3 她 1614916491873 hmx 38 1 83 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 2 牛排 1614916491873 hmx 38 1 84 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Controller-DashedSentence DashedSentence 1 小红说 1614916491873 hmx 38 1 501 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns
    # Columns below this comment are as follows:
    # 16. Comments.
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL Key FJ PressedKey F 1614916492142 hmx 38 1 Wait success
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 15 0 experimentspr NULL PennController 18 _Trial_ End 1614916492144 hmx 38 1 NULL
    1614916919 2ed954e2b3a9955b52fbfeaa2c9a53bf PennController 17 0 experimentspr NULL PennController 20 _Trial_ Start 1614916492146 hmx 48 1 NULL

    My second question is about how to understand the data under the column after each window of the dashed sentence, namely the bolded number as follows. I found it stay the same across windows. Also, when I tried to sum up all the time windows during the self-paced reading, I found the sum always failed to match with the difference between the Start time and the PressedKey time. That was confusing and I don’t know if I should worry about it.

    DashedSentence DashedSentence 1 小红说 1614916491873 hmx 38 1 501 FALSE 小红说 牛排 她 最 喜欢 西餐 ,所以 她 经常 吃西餐。 Any addtional parameters were appended as additional columns

    I would appreciate it if you could help me understand what might be going on here. And good job for building such a great platform for online experiments and creating this place for trouble shooting!

    #6698
    Jeremy
    Keymaster

    Hi,

    Regarding your first question, it is a known bug: pressing the spacebar again during the same trial after the DashedSentence controller has completed will duplicate the logged lines. I am working on fixing this for the next release of PennController. In the meantime, the easiest way to avoid this is to move to the next trial immediately after the DashedSentence controller, but I realize this is not always possible.

    Regarding you second question: the bolded number is the timestamp corresponding to when the DashedSentence controller was completed. If you subtract all the reading times from it, you’ll get the timestamp corresponding to the when the first word was displayed (not to when the all-blank sentence itself was displayed). The delay between the display of the the all-blank sentence and when the first word was revealed might account for the mismatch you report, but I would need to see your code to tell for sure (you can use the demonstration link from your project’s Share action for that)

    Jeremy

    #6699
    Muxuan He
    Participant

    Hi Jeremy,

    Thank you for your quick response!

    It’s a relief to know the duplication is a known bug and it will not occur randomly. I guess it was just me rushing to finish the sentence and keep pressing the space bar longer than I should.

    As for the second question, I am happy to share my code and I would appreciate it that you could give me some advice!
    The demonstration link is here

    Thank you so much
    Muxuan

    #6700
    Muxuan He
    Participant

    Sorry, the link was not included for some reason. I’ll post it here.

    https://farm.pcibex.net/r/HmFGwk/

    #6701
    Jeremy
    Keymaster

    Thank you—so, the first event that gets logged in your trial (after its start) is indeed the keypress of the space bar that reveals the second word (ie. the keypress that “validates” the first word): if you subtract all the reading times from the bolded timestamp, you’ll get the timestamp corresponding to when the first word was revealed. Because the very first event that occurs in your trial is printing the all-blank sentence, you can subtract the trial’s start timestamp (which approximates when the all-blank sentence was printed to the page) from the first-word timestamp you just calculated, and you’ll get how long it took to your participant to reveal the first word by pressing the space bar.

    The last event in your trial is a keypress on F or J, which you log: if you subtract the bolded timestamp (which corresponds to the completion of the Controller element) from the keypress’s timestamp, you’ll get how it took for your participant to give an answer to the question

    Let me know if you have questions

    Jeremy

    #6738
    Muxuan He
    Participant

    Hi Jeremy,

    Sorry to reply so late! Thank you for your help so far! I struggled a bit with the password thing.

    I have a very specific idea about controlling the input string when participants are required to enter their IDs. I assigned my participants IDs but some of them forgot to do so. I am wondering, besides putting a note below the INPUT box, whether certain codes can help me restrict what participants enter in that box, like in the letter “S” followed by a number (S12).

    Also, I have a practice session before the “participant information collection” interface, and usually the participant would end the practice session with a key press “F”, and when they were directed to the “participant information collection” interface, the letter “f” was already there in the box. Some participants were confused so they left the letter there before entering ID and some ignored the input step and used “f” as an ID. I hope to know how I can fix this problem as well.

    Thank you for always being there for us!

    Best,
    Muxuan

    #6740
    Jeremy
    Keymaster

    Hi Muxuan,

    1. You can pass a regular expression to test.text, so in your case you would do something like getTextInput("myTextInput").test.text( /^[sS]\d+/ )

    2. This could be due to your TextInput element printing almost immediately after the key press on F, resulting in that character printing in the text input box. Maybe try starting and waiting for a 250ms Timer after the Key element’s wait command and before the newTextInput command to see if things improve

    Jeremy

    #6783
    Muxuan He
    Participant

    Hi Jeremy,

    Thank you for your tips! The second question was perfectly solved.

    However, the regular expression under the command test.text() failed to regulate the input in my experiment.I tried what you recommended but no matter what I entered, even Chinese characters, the experiment went on without any warning or pause. I was thinking it might need a confirmation command as well so I also tried .wait() after test.text() but it still didn’t work.

    Here is the demonstration link to the pilot experiment.
    I would appreciate it if you could give me some more advice!

    Best,
    Muxuan

    #6785
    Jeremy
    Keymaster

    Hi Muxuan,

    Apparently the link to your pilot experiment was filtered out again, not sure why this seems to keep happening

    How are you implementing the test, precisely? You can take a look at this page from the advanced tutorial for an example of using a test before validating a click on a button. Note that you also need to explicitly tell the program to display any feedback: the tutorial illustrates that with getHtml("consent_form").warn(), but you will more commonlly use something like newText("Please do whatever before proceeding").print()

    Jeremy

    #6795
    Muxuan He
    Participant

    Hi Jeremy,

    Your instructions are super helpful and I kind of know how it should go!

    I used these codes:

    ,
      newTextInput("MyinputID")
                .print()
     ,
        newButton("Start")
                .print()
                .wait(
                      getTextInput("MyinputID")
                      .test.text( /^[dD]+\d+/ )   
                      .failure(newText("Please enter your ID in 'D+number' form.") .print()))

    It worked! I didn’t expect there was something so specific in the tutorial. I will definitely check the tutorial more before raising questions here. Thank you again for answering my questions.

    Best,
    Muxuan

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.