4

一部の列に $ が含まれる SAS データセットがあります。したがって、67,349 ではなく $67,349 と表示されます。すべての列からすべての $ を削除して、SAS にそれらを数値として認識させるにはどうすればよいですか?

ドル記号のある列は数列しかないので、各列を 1 つずつ実行できます。私は SAS の無料の大学版を使用しています。

4

3 に答える 3

5

$ を削除したいだけで文字変数が残っている場合は、compress()関数を使用します。

data want;
  set have;
  myvar = compress(myvar,'$');
run;

文字列を新しい数値変数に変換する場合は、この既存の質問を参照してください。入力形式は、文字列内の文字と文字COMMA.を自動的に無視します。SASで文字変数を数値に変換する$,

于 2016-07-29T02:21:09.927 に答える
5

単にdollar.情報を使用しないのはなぜですか?

データが欲しい。
  incol ="$62,123" ;
  outcol = 入力 (incol,dollar10.) ;
走る ;
于 2016-07-29T07:06:00.607 に答える
2

$ と , の値を文字列変数から削除します。次に、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 回の呼び出しにまとめることもできますが、簡単に理解できるようにここで分けました。

于 2016-07-29T00:56:39.830 に答える