Creación de variable de tiempo
Bueno. Así que cuando se mira el área seleccionada solamente. Querría:
Nback # = 1, duración = 14303912, Duración acumulada = 0
Nback # = 2 , duración = 14305914, Duración acumulada = 2002
Nback # = 3 , duración = 14307916, duración acumulada = 4004
Nback # = 4 , duración = 14309965, Duración acumulada = 6053
Nback # = 5 , duración = 14312015, duración acumulada = 8103
Nback # = 6 , duración = 14314051, duración acumulada = 10139
Necesito hacer esta columna final como una medida de tiempo. Cualquier orientación sería muy apreciada.
Re: Creando Variable de TiempoPor lo tanto, hacer este pequeño cambio todavía produce el mismo tipo de salida para mi nueva variable.
Re: Creando Variable de Tiempo¿Quizás quiera comenzar a contar desde la hora final de la primera fila en cada período?

Re: Creando Variable de TiempoEntonces, esto funciona técnicamente. Me da valores, pero no descansa al comienzo de cada prueba. Este es un paso importante en este proceso para poder comparar cada prueba individual. El script actual me permite comparar las horas extraordinarias en general, no dentro de cada una de las pruebas individuales. Por eso me gustaría que cada nueva prueba comience en 0 veces.Re: Creando Variable de TiempoPodría resumir las duraciones sin embargo, podría perder el tiempo entre filas. En mi opinión, el uso de los tiempos de inicio y finalización (Nback Start y Nback Stop y summary_image_end) es bastante breve. La fórmula debe ser como se muestra a continuación. Usaría * ya sea * las columnas azules (si le importa summary_image_end) o las columnas rojas (si le importa Lag1).

Re: Creando Variable de TiempoEntonces, al mirar los datos, me he dado cuenta de que tengo una columna de 'Duración de Nback'. Me preguntaba si habría una manera más fácil de llegar al resultado final deseado utilizando esta columna y la columna lag1.
Re: Creando Variable de TiempoAquí hay una manera de hacer esto con solo fórmulas de columna. No estoy seguro de qué columna está utilizando para indicar el restablecimiento de tiempo, así que incluí
- Un método para hacer esto desde una columna cuyos valores cambian para cada nuevo grupo, y
- Un método basado en una columna que indica un reinicio en el tiempo.
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: Creando Variable de TiempoEste script puede ser lo que necesitas. Los datos establecidos como el accesorio.
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]);
)
);