如何删除数据集所有列中缺少数据的行?很抱歉我的问题太基本了,我刚刚开始第一次使用 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,缺失...))一起,它比以下速度快几个数量级:
+ 选择其中()