计算时间差并对值求和我有一个时间列的表格,格式如下:m/d/yh:m:s
我想创建一个名为 CumTimeSec 的新列,它将显示该行的累积时间差。
例如,
时间
| 时间 | CumTimeSec |
2022 年 5 月 11 日下午 5:30:03 | 0 |
2022 年 5 月 11 日下午 5:30:08 | 5 |
| 2022 年 5 月 11 日下午 5:30:20 | 17 |
| 2022 年 5 月 11 日下午 5:30:23 | 20 |
我想我可以使用这段代码来计算每行之间的差异,但我不确定如何对这些值求和
dt << New Column( "CumTimeSec",
Numeric,
"Continuous",
formula( :Time - Lag( :Time) )
);
脚本回复:计算时间差并对值求和嗨 Lavik17,
Lag 对于此应用程序很有用,但您需要使用它几次。请注意, Dif() 获取当前行和“滞后”行之间的差异。例如,在上面计算:Time - Lag(:Time)。这与 Dif(:Time) 相同。
下面是一个可以使用 JMP 样本数据运行的示例。该表仅列出了一系列年份,但它对于时间列的工作方式相同。
dt = Open("$SAMPLE_DATA/Time Series/SeriesQ.jmp");
dt << New Column("CumTimeYear", Formula(
If( Row() > 1,
Lag( :CumTimeYear ) + Dif( :Year )
, // else first row
0
)
));