我有一個SAS數據集,其中包含一些列。因此,閱讀67,349美元而不是閱讀67,349美元。我如何從所有列中刪除所有$,並讓SAS將它們識別爲數字?從SAS列中刪除美元符號
美元符號只有幾列,所以我可以每次做一列。我正在使用SAS的免費大學版。
我有一個SAS數據集,其中包含一些列。因此,閱讀67,349美元而不是閱讀67,349美元。我如何從所有列中刪除所有$,並讓SAS將它們識別爲數字?從SAS列中刪除美元符號
美元符號只有幾列,所以我可以每次做一列。我正在使用SAS的免費大學版。
如果你只是想刪除$,仍然有一個字符變量,然後使用compress()
函數。
data want;
set have;
myvar = compress(myvar,'$');
run;
如果要將字符串轉換爲新的數字變量,請參閱此現有問題。信息將自動忽略字符串中的$
和,
字符。 Converting character variabls to numeric in SAS
我會從字符串變量中刪除$和,值。然後使用輸入功能轉換爲數字。
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()
將字符串轉換爲數字。
當然你可以把所有這一切放在一個電話裏,但是我在這裏把它分解出來,使它更容易遵循。
爲什麼不只是使用dollar.
信息?
data want ; incol ="$62,123" ; outcol = input(incol,dollar10.) ; run ;
是的,這應該是被接受的答案。 –
您已經擁有SAS數據集?或者你是從源文件創建SAS數據集? – Tom
我在該數據集中有一個現有的數據集,其中有幾列包含美元符號。 – user18101