数値変数と文字変数の間の変換は、データセットを処理するときに最も頻繁に発生 この記事では、この変換を正しく効率的に行う方法について説明します。
Numeric to Character¶
filings
という名前のインポートされたデータセットがあると仮定します。cik
は、以下に示すように数値変数として格納されます:
cik | file_type | date |
---|---|---|
1000229 | 8-K | 2011-09-30 |
100591 | 8-K | 2006-05-11 |
100826 | 8-K | 2009-06-30 |
93542 | 8-K | 2007-01-25 |
cik
は異なる桁であるため、数値cik
を文字変数に変換するには、先行ゼロを埋め込むのが自然な手順です。 たとえば、cik
(中央インデックスキー)自体はSECで使用される10桁の数値です。
SASでは、数値変数を先行ゼロの文字列に変換します(10桁の固定長を想定)。PUT()
関数:
123 |
|
ヒント
PUT()
機能はPROC SQL
でも動作します。
生成されたcik_char
変数は形式と情報.
であり、データセットは次のようになります:
cik_char | file_type | date |
---|---|---|
0001000229 | 8-K | 2011-09-30 |
0000100591 | 8-K | 2006-05-11 |
0000100826 | 8-K | 2009-06-30 |
0000093542 | 8-K | 2007-01-25 |
STATAでは、数値変数を先行ゼロ(6桁の固定長を想定)を使用して文字列に変換するには、string()
関数を使用します。
1 |
|
SASでは、文字変数を数値変数に変換するには、INPUT()
関数を使用します:
1 |
|
STATAでは、この変換はreal()
関数またはdestring
コマンドのいずれかを介して行うことができます。
1 |
|
real()
関数は単一の変数で動作します。 destring
コマンドは、すべての文字変数を一度に数値に変換できます。
1 |
|
警告
文字変数に数字以外の文字が含まれている場合、変換されません。 このような場合は、encode
コマンドを使用することを選択できますが、実際にはカテゴリを生成しています。
より詳細な説明と例がありますstats.idre.ucla.edu
最終更新日:2020年5月22日