如果數據表中每個樣本有多個條目,如何為列表中的每個樣本運行腳本。我有一個數據表,其中多次測量了相同的樣本(請參見下面的示例)。 樣本由它們的標識符分隔。

我希望我的腳本能夠對每個樣本執行相同的一組計算,以便我可以確定控制限並製作 A、B、C 等的控製圖。 我不知道每個樣本的標識符。 我已經有一個可以進行計算並為我製作圖表的腳本,它只是無法對每個標識符進行單獨的計算。
我最初的通過是使用某種循環來做到這一點。 我有一個腳本,它返回列表中的每個唯一標識符,並為我提供唯一標識符的數量作為循環設置。
Identifiers = Column( "Identifier") << GetAsMatrix();
Identifiers set = Associative Array( Identifiers);
Unique Identifiers = Identifiers set << Get Keys;
nUnique Identifiers = N Items (Unique Identifiers);
我只是似乎無法讓循環工作。 有一個更好的方法嗎? 或者有人可以告訴我如何做循環?
我正在使用 JMP 10。
謝謝!
腳本編寫回复:如果數據表中的每個樣本有多個條目,如何為列表中的每個樣本運行腳本。有很多方法可以做到這一點,但一種方法是向現有平台添加本地數據過濾器。這是使用圖形構建器的示例:
Names default to here(1);
//Open some sample data
dt = Open( "$Sample_data/big class.jmp" );
//Your code
Identifiers = Column( "age") << GetAsMatrix();
Identifiers set = Associative Array( Identifiers);
Unique Identifiers = Identifiers set << Get Keys;
nUnique Identifiers = N Items (Unique Identifiers);
//A window to hold a bunch of graphs
win = New Window("Graphs", graphbox = v list box());
//Open a graph that is filtered to only show each unique identifier
//to keep things organized add it to a single window.
for( i=1, i<=nUnique Identifiers, i++,
win << Append(<BR /> //To get this script I opened graph builder and added a local data filter for one age<BR /> //and then copied/pasted it here and replaced the age with 4Unique Identifiers[i]
Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == Unique Identifiers[i] ),
Display( :age, N Items( 6 ) )
)
)
)
)
);回复:如果數據表中的每個樣本有多個條目,如何為列表中的每個樣本運行腳本。我想知道使用內置控製圖平台來計算限制和繪製度量是否有效,尤其是當您將 Identifier 分配給 By analysis 角色時。
只是不希望您花費大量時間編寫腳本,如果它重複了已經可用的功能。
回复:如果數據表中每個樣本有多個條目,如何為列表中的每個樣本運行腳本。我如何能夠進行由標識符過濾的額外計算? 我想做一些數據操作,然後根據每個標識符的數據計算我自己的限制,然後將這些數據添加到每個圖表中,所以我認為任何類型的過濾器都需要在最終圖表腳本之前出現。 我有一個腳本可以做到這一點,如果需要我可以發布它,但它很長。 我真的只是在尋找一種方法來製作我已經為每個標識符而不是數據表中的所有行運行的腳本