你好,
我是 JMP 腳本的新手,並且與可能很容易的問題作鬥爭。
我堆疊了實驗數據,包括帶有變量、值、單位、日期和時間的列。
我想添加一個新列相對時間(如示例中所示)。
但我希望它能夠計算從特定階段 X 開始的相對時間(例如所附示例中的 102)。
實驗數據有不同的長度,所以我想製作一個腳本來創建相對時間列,通過減去階段 X 的開始時間來調整時間零。
(實驗可能會持續數天,有許多階段和變量 - 有時我有超過百萬行)
因為測量可以跨越多天,所以您應該創建新的列,將 DATE 和 TIME 組合在一起(您可以將它們相加)以避免在日期變化時出現問題。
之後你可以使用這樣的公式(:DATETIME 是你應該創建的新列)。 這期望您需要階段 102 的最小日期時間值:
:DATETIME - Min(:DATETIME[Loc(Current Data Table()[0, {"VARIABLE", "VALUE"}], {"phase", 102})]);Min(:TIME[Loc(Current Data Table()[0, {"VARIABLE", "VALUE"}], {"phase", 102})]);有點複雜,你應該花一些時間看看它在做什麼。 Scripting Index 很可能對此有所幫助。 如果需要,我還可以更詳細地解釋它。 您還可以使用更容易理解的 Get Rows Where 替換 Loc 函數:
Current Data Table() << Get Rows Where(:VARIABLE == "phase" & :VALUE == 102);
但在某些情況下可能會更慢。