JMP 腳本:為列中每個指定值建立新列大家好,
我試圖為 |90= 之後的每個數值建立新列,並將這些列標記為 |90 之前的字串,因此 pX 或其他任何內容都在它之前。請參閱下面所附的照片作為範例。

因此,在第一行中,我想取得「p1|90=」後面的 93,並建立一個標記為「p1」的新欄位。我想對任何和所有“pX|90=”後面的每個數字執行此操作。該 pX 也可能是 sX 或 rX 或 pXa/b/c/...等等。所以我也想為這些值建立新的列。每行的資料點數量變化很大,從一 (1) 個 pX|90= 值到 15 個不同的 pX|90= 值,可能某些值帶有 sX|90= 或 rX|90=。
我正在使用 Word 函數來獲取 pX|00 資料值。現在我只想取得 90,並嘗試使用我之前使用的腳本,但發現它沒有取得我想要的所有值。

這是針對數百行,很快就會達到數千行,因此手動執行此操作是站不住腳的。
在這裡使用什麼函數才有意義?
我是 JMP 腳本編寫的新手,願意學習和傾聽任何想法。謝謝你!
進階統計建模自動化和腳本編寫消費者與市場研究大規模客製化品質和工藝工程視窗回复:JMP 腳本:列中每個指定值的新列不知道這是否是最好的方法,但它相當簡單。
Names default to here(1);
dt= New Table( "splitting bunches",
Add Rows( 1 ),
New Column( "Fun",
Character,
"Nominal",
Set Values( {"<P>p1|00=51;p1|90=32;p2|00=48;p2|90=90;",
"</P><P>p1|00=47;p1|90=60;p4|00=73;p4|90=49;"
} )
),
);
dt << New Column("just_delim",
// this is just getting rid of that beginning part as I image you don't want it.
character, formula(substitute(:Fun, "</P><P>", ""))
);
// split it on ; into however many columns
dt << Text To Columns(
delimiter( ";" ),
columns( :just_delim )
);
// get the columns you just made
cols_to_stack = (dt << get Column References)[3::ncols(dt)];
// stack them now
dt_stack = dt << Stack(
columns( cols_to_stack ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ), output table("stacked")
);
// same thing
dt_stack << Text To Columns(
delimiter( "|=" ),
columns( :Data )
);
dt_stack:"Data 1"n<<SET name=""></SET></P>回复:JMP 腳本:列中每個指定值的新列為我工作,這很有意義。 謝謝你! 我很高興你發現這很“有趣”。