我希望完成一個簡單的查找和替換。 我正在建立一個更大的腳本,並且想將一些文字替換為空白。 我嘗試過循環和 munger 函數,但似乎我在網路上找到的所有範例都比我需要的更複雜。 我已附上我的資料集。 我基本上想在整個表中搜尋“< LOD”並將其替換為空白。 另外我想對「---」做同樣的事情。 最後,我想在刪除文字後使用腳本將列更改為數字/連續。
謝謝您的幫忙!
我認為我今天課程的主題是「Less is More」。 謝謝。 這(再次)完美地發揮了作用。
很多時候,如果您只是指定使用“按組”,則可以消除“按組”的具體訊息,並讓 JMP 確定要使用的內容。下面的腳本運行得很好,沒有任何混亂
Bubble Plot(
X( :RT1 ),
Y( :RT2 ),
Sizes( :Area ),
Coloring( :Group ),
Title Position( 0, 0 ),
By( :Sample ID )
);
謝謝,該腳本完美運行。
順便說一句,(如果我必須為此開始一個新的討論線程,請告訴我)但是根據我之前附加的數據,我正在嘗試使用腳本製作氣泡圖。 我可以互動地執行所有操作,然後複製腳本,但是它特定於第一列中的範例 ID 名稱。 我將將此腳本與許多不同的資料表一起使用,並且資料的佈局將始終相同,但是文件中包含的樣本數量和樣本 ID 將發生變化。 有沒有一種簡單的方法可以調整下面的腳本以用於任何樣本 ID,而不是說「CM172-001」。
Bubble Plot(
SendToByGroup( {:Sample ID == "CM172-001"} ),
X( :RT1 ),
Y( :RT2 ),
Sizes( :Area ),
Coloring( :Group ),
Title Position( 0, 0 ),
By( :Sample ID ),
SendToByGroup(
{:Sample ID == "CM172-001"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-001"},
"1",
ScaleBox,
{Min( 11 ), Max( 22 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-001"},
"2",
ScaleBox,
{Min( 2.84 ), Max( 2.97 ), Inc( 0.02 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-002"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-002"},
"1",
ScaleBox,
{Min( 10 ), Max( 35 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-002"},
"2",
ScaleBox,
{Min( 2.8 ), Max( 3.7 ), Inc( 0.1 ), Minor Ticks( 0 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-003"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-003"},
"1",
ScaleBox,
{Min( 11 ), Max( 22 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-003"},
"2",
ScaleBox,
{Min( 2.83 ), Max( 2.96 ), Inc( 0.02 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-004"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-004"},
"1",
ScaleBox,
{Min( 10 ), Max( 30 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-004"},
"2",
ScaleBox,
{Min( 2.6 ), Max( 3.6 ), Inc( 0.2 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-005"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-005"},
"1",
ScaleBox,
{Min( 10 ), Max( 30 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-005"},
"2",
ScaleBox,
{Min( 2.7 ), Max( 3.7 ), Inc( 0.2 ), Minor Ticks( 1 )}
)
)
)
);這是一段簡單的程式碼,它找到要更改的值,更改它們,然後將列設定為數字和連續
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( character, string );
For( i = 1, i <= N Items( colList ), i++,
selRows = dt << get rows where(
Column( dt, colList[i] )[Row()] == "< LOD" | Column( dt, colList[i] )[Row()] == "---"
);
If( N Rows( selRows ) > 0,
Column( dt, colList[i] )[selRows] = "";
Column( dt, colList[i] ) << data type( "numeric" ) << modeling type( "continuous" );
);
);
如果將資料類型從字元變更為數字,則「
Names Default to Here( 1 );
dt = New Table( "test",
New Column( "data",
Character, Nominal,
Values( { "3.1", "4.5", "<LOD></LOD>回覆:簡單的尋找和替換我很欣賞您的警告,但是,我只是使用這些數據來繪製指紋圖,並且我們對未檢測到該化合物這一簡單事實感興趣。 對於任何統計分析,我們都會根據提供的檢測極限估算 ND 值。
與您的腳本問題分開,用空白替換 審查。 您應該使用處理審查資料和精確資料的估計器。