如何將時間資料列(名義)轉換為一個單位(月)的連續資料?大家好。
在 JMP 中,我使用從 LIMS 系統提取的穩定性資料。 在進行分析時,我在 X 軸上有幾個月的時間。 擷取的資料有兩種時間「格式」:以月為單位的時間(例如「M-12」或「M-36」)或以天為單位的時間(例如「EOS-968」或「EOS-1011 ”) )。 所有資料都位於同一列中。
我需要數據繼續能夠進行所需的分析。 對於以月為單位的時間,我通常只是通過執行“搜尋和替換”來刪除“M-” - 並將替換留空。 將幾天變成幾個月需要更多工作。
我自己最初的想法是先刪除「EOS-」部分,然後重新計算為幾個月,但由於資料都位於同一列中,我發現很難將兩個「資料集」分開,直到它們具有同一單位。
您對我如何更輕鬆地進行這種轉變有什麼好的想法嗎? 也許需要一個小腳本?
任何幫助是極大的讚賞。
此致
亨麗埃特
品質和工藝工程回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?嗨戴爾。
非常感謝您的幫忙。
BR 亨利埃特
回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?你好,賈莫。
效果非常好。 非常感謝您的幫忙。
BR 亨利埃特
回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?我看到其他類似的想法,附件是我的(沒有腳本)。
回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?您不需要將其儲存在變數中。
下面的例子。 執行腳本並檢查 MonthNumber 的公式:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Time", Character, "Nominal", Set Values({"M-12", "M-36", "EOS-968", "EOS-1011"}))
);
dt << New Column("MonthNumber", Numeric, Continuous, Formula(
If(StartsWith(:Time, "M"),
Num(Word(2, :Time, "-"))
,
StartsWith(:Time, "EOS"),
Num(Word(2, :Time, "-"))/30
,
. //if starts with something else than "M" or "EOS"
);
));
然後您可以根據需要修改公式。
回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?你好。
非常感謝您的幫忙。 我對 JMP 腳本編寫完全陌生,所以也許您可以為我指明正確的方向,以完成缺少的邏輯。
對於“月份邏輯”,我只想刪除“M-”部分,所以我認為 Dales 答案中的 Word 函數應該可以解決問題。
對於“天邏輯”,我想刪除“EOS-”部分(使用Word函數),然後計算從天到月的數字部分。 也許是一個愚蠢的問題,但我可以只添加兩行程式碼還是需要以某種方式將其儲存在變數中?
謝謝 :)
回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?嗨戴爾。 感謝您的幫助。 據我所知,使用所描述的 Word 函數將為我提供一列連續資料(是的),但以兩種不同的單位(天和月)表示。
關於如何將天數重新計算為幾個月,但僅對數值以天為單位的行執行此操作,有什麼想法嗎?
BR 亨利埃特
回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?除了使用 Word() 之外,您還可以使用 Starts With 和 If 語句來決定月份應如何計算。
下面的腳本將會新增佔位符值 1(月)和 2(日)。 將它們替換為您的月份計算邏輯
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Time", Character, "Nominal", Set Selected, Set Values({"M-12", "M-36", "EOS-968", "EOS-1011"}))
);
dt << New Column("MonthNumber", Numeric, Continuous, Formula(
If(StartsWith(:Time, "M"),
//month logic here
1
,
StartsWith(:Time, "EOS"),
//day logic here
2
,
. //if starts with something else than "M" or "EOS"
);
));

回覆:如何將時間資料列(名義)轉換為一個單位(月)的連續資料?“word”函數似乎可以解決問題 - 請參閱隨附的範例文件。