I nostri dati hanno dieci repliche (ripetizioni, per essere più precisi).I dati desiderati si trovano tra velocità del veicolo di 35 e 70 mph.Per ciascuno dei dieci replicati, esiste una colonna denominata "tempo" e tale indicazione del tempo varia leggermente, a causa della variazione della procedura sperimentale.
Vorrei creare una colonna calcolata, utilizzando i comandi JMP, non gli script, per "tempo regolato".
In questa colonna il valore verrebbe azzerato sottraendo da ogni valore di tempo la prima volta indicata alla prima velocità di 35 mph.Per le dieci repliche, quella colonna dovrebbe in qualche modo ispezionare la colonna replicata e, alla prima occasione di una nuova replica, modificare il tempo aggiustato per i dati temporali del valore di 35 mph di quella replica.In questo modo, ogni colonna "tempo aggiustato" inizierebbe da zero e finirebbe a 70 mph.
Delle idee come automatizzare questa operazione?Grazie in anticipo.
Potrebbe essere più semplice fare la formula a seconda che:
- I dati sono ordinati
- Se 35mph appare solo una volta per ripetizione
- Se 35mph ha sempre il valore Time più piccolo
Poiché quell'informazione non è stata fornita o ho capito qualcosa di errato, sono andato con una formula un po' più complicata:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(12),
Compress File When Saved(1),
New Column("Repeat",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4])
),
New Column("Speed",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([35, 35, 70, 35, 40, 70, 35, 36, 70, 60, 35, 36])
),
New Column("Time",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 2, 3, 1.1, 2, 3, 1.2, 2, 3, 1, 2, 3])
)
);
dt << New Column("Adjusted Time",
Numeric,
"Continuous",
Formula(
If(Row() == 1,
//Find rows with speed of 35
speedRows = Loc(:Speed << get as matrix, 35);
//get repeats for 35 rows
repeats = :Repeat[SpeedRows];
);
//time for first 35mph for current rows repeat
curTime = :Time[Loc(repeats, :Repeat)[1]]; //adjusted time
:Time - curTime;
)
);