私はsasで1つのデータの問題を扱っています。1000 個の変数と、変数ごとに 1000 個のレコードを含む日付セットが 1 つあります。そして、100 個の変数名を含む別の変数リストがあります。そのデータセットの変数名が変数リストと一致する場合、最初のデータセットをサブセット化したいと思います。
proc merge
とを試しproc sql
ましたが、うまくいきません。誰でも私を助けることができますか?
どうもありがとう
SAS は、便利な名前のキーワード 'keep' および 'drop' を使用して、変数を保持または削除します。PROC SQL は、テキスト形式のリストがない場合にリストを生成するのに役立ちます。
data want;
set have;
keep var1 var2 var3 var4;
run;
データセット「vnames」に変数「tokeep」を含む変数のリストがある場合、これを実行できます。
proc sql;
select tokeep into :keeplist separated by ' ' from vnames;
quit;
data want;
set have;
keep &keeplist.;
run;
PROC SQL は 'tokeep' の内容を取得し、それらをテーブルまたは画面に選択する代わりに、それらをマクロ変数 'keeplist' 内のスペースで区切られたリストに配置します。これは、'keep' の引数として使用されます。声明。
ここでは、データセットのすべての変数名のリストを別のデータセットとして出力する方法を見つけることができます。これにより、どの大きなデータセットを使用し、どれを使用しないかを簡単に決定できます (たとえば、変数名の左 (または右) 結合、次に行数を確認すると、少なくとも使用する変数の数になります)。ほしい)。