一部の列に $ が含まれる SAS データセットがあります。したがって、67,349 ではなく $67,349 と表示されます。すべての列からすべての $ を削除して、SAS にそれらを数値として認識させるにはどうすればよいですか?
ドル記号のある列は数列しかないので、各列を 1 つずつ実行できます。私は SAS の無料の大学版を使用しています。
一部の列に $ が含まれる SAS データセットがあります。したがって、67,349 ではなく $67,349 と表示されます。すべての列からすべての $ を削除して、SAS にそれらを数値として認識させるにはどうすればよいですか?
ドル記号のある列は数列しかないので、各列を 1 つずつ実行できます。私は SAS の無料の大学版を使用しています。
$ を削除したいだけで文字変数が残っている場合は、compress()
関数を使用します。
data want;
set have;
myvar = compress(myvar,'$');
run;
文字列を新しい数値変数に変換する場合は、この既存の質問を参照してください。入力形式は、文字列内の文字と文字COMMA.
を自動的に無視します。SASで文字変数を数値に変換する$
,
単にdollar.
情報を使用しないのはなぜですか?
データが欲しい。 incol ="$62,123" ; outcol = 入力 (incol,dollar10.) ; 走る ;
$ と , の値を文字列変数から削除します。次に、input 関数を使用して数値に変換します。
data test;
format incol $12.;
incol = "$62,123";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
incol = "62,123.3";
incol = compress(translate(incol,"","$,"));
outcol = input(incol,best.);
output;
run;
TRANSLATE()
$ と , を空白に置き換えます。 COMPRESS()
すべての空白を削除します。 INPUT()
文字列を数値に変換します。
もちろん、これらすべてを 1 回の呼び出しにまとめることもできますが、簡単に理解できるようにここで分けました。