Créer une variable de temps
D'accord. Donc, lorsque vous regardez la zone sélectionnée uniquement. Je voudrais:
Nback # = 1, duration = 14303912, Durée cumulée = 0
Nback # = 2 , durée = 14305914, Durée cumulée = 2002
Nback # = 3 , durée = 14307916, durée cumulative = 4004
Nback # = 4 , durée = 14309965, durée cumulative = 6053
Nback # = 5 , durée = 14312015, durée cumulée = 8103
Nback # = 6 , durée = 14314051, durée cumulative = 10139
Je dois faire cette dernière colonne comme mesure du temps. Toute orientation serait grandement appréciée.
Re: Créer une variable de tempsAinsi, ce petit changement produit toujours le même type de sortie pour ma nouvelle variable.
Re: Créer une variable de tempsVous souhaitez peut-être commencer à compter à partir de l'heure de fin de la première ligne de chaque période?

Re: Créer une variable de tempsDonc, cela fonctionne techniquement. Cela me donne des valeurs, mais cela ne se repose pas au début de chaque essai. Il s’agit d’une étape importante de ce processus qui me permet de comparer chaque essai individuel. Le script actuel me permet de comparer les heures supplémentaires de manière générale, et non dans chaque épreuve. C'est pourquoi j'aimerais que chaque nouvel essai commence à 0 heure.Re: Créer une variable de tempsVous pouvez résumer les durées, mais vous pouvez manquer le temps entre les lignes. À mon avis, l’utilisation des heures de début et de fin (Nback Start et Nback Stop et summary_image_end) est assez succincte. La formule devrait juste être comme ci-dessous. Vous utiliserez * soit * les colonnes bleues (si vous vous souciez de summary_image_end) ou les colonnes rouges (si vous vous souciez de Lag1).

Re: Créer une variable de tempsDonc, en regardant les données dont je dispose, j'ai réalisé que j'avais une colonne 'Durée Nback'. Je me demandais s'il y aurait un moyen plus facile d'obtenir le résultat final souhaité en utilisant cette colonne et la colonne lag1.
Re: Créer une variable de tempsVoici un moyen de faire cela avec seulement des formules de colonne. Je ne sais pas quelle colonne vous utilisez pour indiquer la réinitialisation du temps, alors j'ai inclus
- Une méthode pour ce faire à partir d'une colonne dont les valeurs changent pour chaque nouveau groupe, et
- Une méthode basée sur une colonne qui indique une réinitialisation dans le temps.
Names default to here ( 1 );
//Table with data similar to yours
dt = New Table( "Data",
Add Rows( 40 ),
New Column( "Space", Numeric, "Continuous",
Format( "Best", 12 ),
Formula( Round( Random Uniform( 1, 5 ), 0 ) )
),
New Column( "Duration", Numeric, "Continuous",
Format( "Best", 12 ),
Formula( Round( Random Uniform( 1998, 2002 ), 0 ) )
),
New Column( "Start", Numeric, "Continuous",
Format( "Best", 12 ),
Formula( If( Row() == 1, :Space, :Space + Lag( :Start, 1 ) + Lag( :Duration, 1 ) ) )
),
New Column( "End", Numeric, "Continuous",
Format( "Best", 12 ),
Formula( :Start + :Duration )
),
New Column( "Period Indication", Character, "Nominal",
Formula( If( Row() < 15, "One", "Two" ) )
),
New Column( "Indication of Time Reset Pulse", Numeric, "Nominal",
Formula( If( Row() == 10, 1, . ) )
)
);
//New Column - subtract the current end time from the first end time in
//the group. Use this if the column :summary_image_end" tells you when
//to start a new group
dt << New Column( "Time In Group", Numeric, "Continuous",
Format( "Best", 12 ),
Formula( :End - Col Min( :Start, :Period Indication ) )
);
//Make a New Column indicating the period for a pulse signal, use this if
//the column Lag1 tells you when to start a new group
dt << New Column( "Period Indication from Pulse", Numeric, "Nominal",
Format( "Best", 12 ),
Formula(
If(
Row() == 1,
1,
Lag( :Period Indication from Pulse, 1 ) +
If(
Is Missing( :Indication of Time Reset Pulse ),
0,
1
)
)
)
);
//Once the group column is made then calculate the duration
dt << New Column( "Time In Group - Pulse", Numeric, "Continuous",
Format( "Best", 12 ),
Formula( :End - Col Min( :Start, :Period Indication from Pulse ) )
);Re: Créer une variable de tempsCe script pourrait être ce dont vous avez besoin. Ensemble de données en guise d'attachement.
dt = Current Data Table();
//dt << New Column( "Delta", numeric );
dt << New Column( "Cumulative", numeric );
dt << Sort( By( :Category, :Time ), Order( Ascending, Ascending ), Replace table );
For( i = 1, i <= N Rows( dt ), i++,
If( :Time[i] == Min( :Time[dt << get rows where( :Category == :Category[i] )] ),
//dt:Delta[i] = 0;
dt:Cumulative[i] = 0;
,
//dt:Delta[i] = dt:Time[i] - dt:Time[i - 1];
dt:Cumulative[i] = dt:Cumulative[i-1]+ (dt:Time[i] - dt:Time[i - 1]);
)
);