数値変数と文字変数の間の変換は、データセットを処理するときに最も頻繁に発生 この記事では、この変換を正しく効率的に行う方法について説明します。
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日