Question about the "latency" column in the Cyberball (3-player) data record.


Question about the "latency" column in the Cyberball (3-player) data...
Author
Message
Olivia Ying
Olivia Ying
Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)Associate Member (115 reputation)
Group: Forum Members
Posts: 10, Visits: 20
Dear Dave,

I hope you're doing well these days.

I was examining the data returned by Cyberball (3-player) and found something that confused me.

As you can see, player1 and 3 are coded as virtual players whose hesitation time before pitching is determined by the following code:

/ cyberdecisiontime:     selects with replacement (replace) one of the 4 decision times for players1 and 3

<expressions>
/ cyberdecisiontime = replace(500, 1000, 1500, 200)


As well as this is an example of applying 'cyberdecisiontime' in trial:
Note: trial.1to2 => video shows player 1 throwing the ball to player 2 after expressions.cyberdecisiontime.
Player 3 (= values.player) then has to decide where to throw the ball next (= values.recipient)
<trial 1to2>
/ ontrialbegin = [
    values.player = 2;
    if (values.count_ignore2 > values.max_ignore2)
        values.max_ignore2 = values.count_ignore2;
    if (values.ignore2_streak1 == 0)
        values.ignore2_streak1 = values.max_ignore2;
        
    trial.1to2.insertstimulustime(video.1to2, expressions.cyberdecisiontime);
]
/ stimulustimes = [1= 1to2_static]
/ validresponse = (player1, player3, player1label, player3label)
/ ontrialend = [
    trial.1to2.resetstimulusframes();
    
    values.sumrt_player2 += trial.1to2.latency;
    if (trial.1to2.response == "player1" || trial.1to2.response == "player1label") {
        values.recipient = 1;
        values.count_player2throws += 1;
        values.count_21 += 1;
        values.sumrt_21 += trial.1to2.latency;
        values.count_121 += 1;
        values.sumrt_121 += trial.1to2.latency;
    } else if (trial.1to2.response == "player3" || trial.1to2.response == "player3label") {
        values.recipient = 3;
        values.count_player2throws += 1;
        values.count_23 += 1;
        values.sumrt_23 += trial.1to2.latency;
        values.count_123 += 1;
        values.sumrt_123 += trial.1to2.latency;
    };
]
/ branch = [
    if (values.recipient == 1) {
        return trial.2to1;
    } else if (values.recipient == 3) {
        return trial.2to3;
    };
]
</trial>

However, in the returned data (see screenshot), there are a large number of '0's, which I think may be because player1 and player3 are not recorded as hesitation times for virtual players. However, again, it's not all '0's, it looks like '500' and '1000' are possible numbers as they are one of the randomized times, but why again '800'? I've checked the code but still can't explain this and wondered if you had any good insights?


Thank you very much for the time you put into this!

Best,
Yingying


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Threaded View
Threaded View
Olivia Ying - 2 Months Ago
Dave - 2 Months Ago
Olivia Ying - 2 Months Ago
Dave - 2 Months Ago
                     Thank you so much! I'll try asap.
Olivia Ying - 2 Months Ago
                         Something like this, basically:
Dave - 2 Months Ago
                             Hi Dave, That's so nice of you to show such detailed code! But I'm...
Olivia Ying - 2 Months Ago
                                 Just added a what?
Dave - 2 Months Ago
Olivia Ying - 2 Months Ago
Dave - 2 Months Ago

Reading This Topic

Explore
Messages
Mentions
Search