簡単なタスク - 空の列を削除する<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 | 1日目 | | あ | | | | C |
| 2234 | 11日目 | | あ | | V/M/S | | C |
| 2234 | 21日目 | | あ | | | | C |
| 2234 | 24日目 | | あ | | | S/T | C |
出力
| 忍耐強い | サンプル
| AA_2 | AA_4 | AA_5 | AA_6 |
|---|
| 2234 | 1日目 | あ | | | C |
| 2234 | 11日目 | あ | V/M/S | | C |
| 2234 | 21日目 | あ | | | C |
| 2234 | 24日目 | あ | | S/T | C |
Re: 簡単なタスク - 空の列を削除するリストを表示したい場合は、以下を使用できます。
印刷( lst削除);
Re: 簡単なタスク - 空の列を削除するありがとう。 これを実行しましたがリストが表示されませんでした。何か見落としているのでしょうか?
Re: 簡単なタスク - 空の列を削除するこんにちは、
空の列名をリストに残しておきたい場合は、次のように処理することもできます。
dt = 現在のデータ テーブル();
iColMax = NCol(dt);
iRowMax = NRow(dt);
null = 0;
lstDelete = リスト();
(iCol = 1、iCol<=iColMax、iCol++、
null = 0;
列 = 列(iCol);
strColName = 列(iCol) << GetName;
(iRow = 1、iRow<=iRowMax、iRow++、
If (Or(IsEmpty(col[iRow]),IsMissing(col[iRow]))、
null = null + 1;
);
);
If (null == iRowMax, InsertInto(lstDelete, Eval(strColName))
);
);
dt << 列の削除(lstDelete);
Re: 簡単なタスク - 空の列を削除する美しく動作します! どうもありがとうございます。
Re: 簡単なタスク - 空の列を削除するJMP でこれを対話的に行う場合、私は欠損データ パターンとサマリーを使用する傾向があります。 ただし、大規模なテーブルや繰り返しタスクの場合は、JSL スクリプトの方が効果的です。
これは、あらゆるデータ型の空の列を削除する場合に機能します。
dt =現在のデータテーブル() ;
ノースカロライナ州= Nコル( dt ) ;
名前= dt <<列名の取得() ;
dt1 = dt <<欠落データのパターン(列(評価(名前) ) 、見えない) ;
番号= N列( dt1 ) ;
のために(私=ノースカロライナ州、私>= 1 、私--、
もし(コル・サム(カラム( dt1 、私+ 3 ) ) <番号、
から削除(名前、私)
)
) ;
試す( dt <<列を削除する(名前) ) ;
近い( dt1 、保存しない) ;