immersivecognition / unity-experiment-framework

UXF - Framework for creating human behaviour experiments in Unity
https://immersivecognition.github.io/unity-experiment-framework/
MIT License
214 stars 41 forks source link

Set order of CSV Data #105

Closed A-Ivan closed 2 years ago

A-Ivan commented 2 years ago

I was looking through the Wiki and the examples but I'm confused on if there is a way to set the order I would like for the output data.

For instance say I have created the following variables:

2 Independent Variables: I.1 & I.2 2 Dependent/Behavioural Variables: D.1, D.2 3 Participant Variables: P.1, P.2, P.3

I would then like to organize the output data columns to be in the following order (Participant, Independent, Dependent, with the following order): P.1, P.3, P.2, I.1, I.2, D.2, D.1

Would I just need to make sure the UI Controller > DataPoints order is correct?

jackbrookes commented 2 years ago

The columns in output of the trial_results.csv file is not able to be explicitly re-ordered, and in general I can't see why it would matter (you can easily reorder then when they get imported into your data analysis software). So, UXF will not guarantee a specific order.

The DataPoints in the UI Controller are for participant_details.csv data outputs, not trial_results.csv.

In practice, the order can be controlled to some extent. Always, the first ones are:

"experiment", "ppid", "session_num", "trial_num", "block_num", "trial_num_in_block", "start_time", "end_time"

Second, any items you add to Settings To Log in the Session component. These are IVs

Third, any items you add to Custom Headers in the Session component. These are DVs

Then finally, any further results you add, as well as any tracker locations.

Generally, I merge the gather all the participant_details.csv files and concatenate them, then join the data with trial_results, if we want to relate participant data to the IVs.

You could so something like write a custom data handler to re-order the columns before saving, if you care to.