简单的任务 - 删除空列<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />您好 SAS 论坛,
我正在尝试删除数据集中的所有空列,但我不知道如何在 JMP9 中执行此操作。 你能帮我吗? 患者和 AA 的数量会有所不同
数据输入
| 病人 | 样本
| AA_1 | AA_2 | AA_3 | AA_4 | AA_5 | AA_6 |
|---|
| 2234 | 第一天 | | A | | | | C |
| 2234 | 第 11 天 | | A | | V/M/S | | C |
| 2234 | 第 21 天 | | A | | | | C |
| 2234 | 第 24 天 | | A | | | 英石 | C |
输出
| 病人 | 样本
| AA_2 | AA_4 | AA_5 | AA_6 |
|---|
| 2234 | 第一天 | A | | | C |
| 2234 | 第 11 天 | A | V/M/S | | C |
| 2234 | 第 21 天 | A | | | C |
| 2234 | 第 24 天 | A | | 英石 | C |
回复:简单任务 - 删除空列如果你想查看列表,你可以使用:
打印(首先删除);
回复:简单任务 - 删除空列谢谢。 我运行了这个但没有看到列表,我错过了什么吗?
回复:简单任务 - 删除空列你好,
如果你想将空列名保留到列表中,你也可以这样处理。
dt = 当前数据表();
iColMax = Ncol(dt);
iRowMax = NRow(dt);
空= 0;
lstDelete = 列表();
对于 (iCol = 1, iCol<=iColMax, iCol++,
空= 0;
列 = 列(iCol);
strColName = 列(iCol) << GetName;
对于 (iRow = 1, iRow<=iRowMax, iRow++,
如果(或(IsEmpty(col [iRow]),IsMissing(col [iRow])),
空=空+1;
);
);
If (null == iRowMax, InsertInto(lstDelete, Eval(strColName))
);
);
dt << 删除列(lstDelete);
回复:简单任务 - 删除空列做工精美! 非常感谢。
回复:简单任务 - 删除空列在 JMP 中以交互方式执行此操作时,我倾向于使用缺失数据模式和摘要。 但对于大型表和重复任务,JSL 脚本更有效。
这应该适用于删除任何数据类型的空列。
dt =当前数据表() ;
数控=北科尔( dt ) ;
名字= dt <<获取列名称() ;
dt1 = dt <<缺失数据模式(列(评估(名字) ) ,无形的) ;
号= N 行( dt1 ) ;
为了(我=数控,我>= 1 ,我--,
如果(苏姆山口(柱子( dt1 ,我+ 3 ) ) <号,
从......中去除(名字,我)
)
) ;
尝试( dt <<删除列(名字) ) ;
关闭( dt1 ,不保存) ;