如何刪除數據集所有列中缺少數據的行?很抱歉我的問題太基本了,我剛剛開始第一次使用 JMP。
我有一個龐大的數據集(14 列 x 20,000 行),我正在嘗試編寫一個腳本來識別和刪除特定範圍的列(第 4-14 列)不包含 0 或 1 的所有行。 該數據集來自一個更大的數據集,因此我的子集中有一些行完全為空。 這是我希望做的一個例子:
- - - - -
0 0 1 - 0
- - - - -
1 - - - -
變成:
0 0 1 - 0
1 - - - -
我已經開始編寫代碼,但我被困住了——我不知道在 For Each Row 之後要做什麼。 我希望這個腳本一次查看一行,如果特定單元格沒有 0 或 1,它會在下一列中查找 0 或 1,如果它到達末尾沒有 0 或 1 的行,那麼它將刪除整行。 到目前為止,這是我的代碼:
dt=Open("File Name")
colnames = dt << get column names( numeric,string );
For( i = 4, i <= N Items( colnames ), i++,
For Each Row(If(:colnames != 0 | :colnames != 1), Continue()
)
);我正在考慮使用
<< Delete Rows
,我在這個論壇的其他一些問題上看到過。 如果這對於腳本來說太複雜,是否有更好的方法來做到這一點?
消費者和市場研究數據混合和清理質量和工藝工程回复:如何刪除數據集所有列中缺少數據的行?正如之前的回复所示,在 JMP 中執行任務通常有多種方法。
如果第 4-14 列都是數字,則此腳本還應該能夠刪除僅包含缺失值的行。
dt = Current Data Table();
dt << Delete Rows(Loc(Is Missing(V Mean(dt[0, 4 :: 14]`))));
回复:如何刪除數據集所有列中缺少數據的行?該腳本將滿足您的請求。 這與其他答复並不完全不同。
Names Default to Here( 1 );
// get reference to target data table
dt = Current Data Table();
// get all the columns for missing value check
cols = dt << Get Column Names;
// obtain missing value patterns
missing = Current Data Table() << Missing Data Pattern(
Columns( Eval( cols ) ),
Output Table( "Missing Data Pattern" )
);
// make character string representing missing values in all columns
n missing = N Items( cols );
all missing = Repeat( "1", n missing );
// find the row of patterns where all columns are missing.
missing << Select Where( :Patterns == all missing );
// delete the linked rows in the original table
dt << Delete Rows;
// clean up
Close( missing, No Save );
回复:如何刪除數據集所有列中缺少數據的行?或者如果你想編寫腳本,這是我的建議:
dt << New Column("Selected", Character, Nominal, Formula(
If(Is Missing(:Column4) | Is Missing(:Column5)|...until column14,
"Yes",
"No"
)
));
dt << Select Where(:Selected == "Yes");
dt << Delete Rows;回复:如何刪除數據集所有列中缺少數據的行?我認為您需要查看缺失數據模式平台:
表=>缺失數據模式
從你的描述來看,應該可以滿足你的需求。它將分析您指定的列,然後從它生成的數據表中,您可以選擇所有缺失值的列,然後刪除它們。
回复:如何刪除數據集所有列中缺少數據的行?這需要一個腳本嗎?
如果您發現只有一行缺少這些特定單元格,請選擇缺少的單元格。
現在轉到“行”菜單並選擇“行選擇”>“選擇匹配單元格”。
現在,將選擇這些列中缺少數據的每一行。 選擇行 > 刪除行。
回覆:如何刪除資料集所有列中缺少資料的行?非常感謝—一系列精彩的秘密!
- 資料表索引
- V Mean() -匯總有關「缺失」條目的信息
- 地方()
- 刪除行(row)**)
**) 與其中(dt,缺失...))一起,它比以下速度快幾個數量級:
+ 選擇其中()