Creazione di una variabile temporale
Va bene. Quindi, quando si guarda solo all'area selezionata. Vorrei:
Nback # = 1, durata = 14303912, Durata cumulativa = 0
Nback # = 2 , durata = 14305914, durata cumulativa = 2002
Nback # = 3 , durata = 14307916, durata cumulativa = 4004
Nback # = 4 , durata = 14309965, durata cumulativa = 6053
Nback # = 5 , durata = 14312015, durata cumulativa = 8103
Nback # = 6 , durata = 14314051, durata cumulativa = 10139
Ho bisogno di rendere questa colonna finale come una misura del tempo. Qualsiasi suggerimento sarebbe davvero apprezzato.
Ri: Creazione di una variabile temporaleQuindi, fare questo piccolo cambiamento produce ancora lo stesso tipo di output per la mia nuova variabile.
Ri: Creazione di una variabile temporaleForse vuoi iniziare a contare dall'ora di fine della prima riga in ogni periodo?

Ri: Creazione di una variabile temporaleQuindi, questo funziona tecnicamente. Mi dà dei valori, ma non si ferma all'inizio di ogni prova. Questo è un passo importante in questo processo in modo tale da essere in grado di confrontare ogni singola sperimentazione. Lo script attuale mi consente di confrontare gli straordinari in generale, non all'interno di ciascuna delle prove individuali. Questo è il motivo per cui mi piacerebbe che ogni nuovo processo inizi a 0 ore.Ri: Creazione di una variabile temporalePotresti riassumere le durate, tuttavia potresti perdere l'intervallo tra le righe. Secondo me, l'utilizzo dei tempi di inizio e fine (Nback Start, Nback Stop e summary_image_end) è abbastanza sintetico. La formula dovrebbe essere come mostrato di seguito. Dovresti usare * * * le colonne blu (se ti interessa summary_image_end) o le colonne rosse (se ti interessa il Lag1).

Ri: Creazione di una variabile temporaleQuindi, guardando i dati che ho ho capito che ho una colonna "Durata Nback". Mi stavo chiedendo se ci sarebbe un modo più semplice per ottenere il risultato finale desiderato utilizzando questa colonna e la colonna lag1.
Ri: Creazione di una variabile temporaleEcco un modo per farlo con solo le formule di colonna. Non sono sicuro di quale colonna stai usando per indicare il time reset, quindi ho incluso
- Un metodo per fare ciò da una colonna i cui valori cambiano per ogni nuovo gruppo, e
- Un metodo basato su una colonna che indica un reset nel tempo.
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 ) )
);Ri: Creazione di una variabile temporaleQuesto script potrebbe essere quello che ti serve. Dati impostati come l'attinimento.
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]);
)
);