値を集計するために使用したい列 (最小値と最大値など) を含む、より大きなデータセット (約 9m 行の data.table) があります。列は他のさまざまな列の組み合わせであり、以下のような文字列ベースの形式になっています。
string <- "318XXXX | VNSGN | BIER"
タスクの実行速度を上げるために、これを一意の整数に再コーディングしたいと思います。私がデータを扱うために定期的に使用している別のアプリケーションには、上記の文字列を整数に変換する組み込み関数があります (例: 73823)。Rに同様の機能があるかどうか疑問に思っていましたか?特定の文字列は常に同じ整数になるという考え方です。これにより、data.tables などのマージに使用できるようになります。
単純な整数値でエンコードしたい data.table 列の小さな例を次に示します。
sample <- c("318XXXX | VNSGN | BIER", "462XXXX | TZZZH | 9905", "462XXXX | TZZZH | 9905",
"462XXXX | TZZZH | 9905", "511XXXX | FAWOR | 336H", "511XXXX | FAWOR | 336H",
"652XXXX | XXXXR | T136", "652XXXX | XXXXR | T136", "672XXXX | BQQSZ | 7777",
"672XXXX | BQQSZ | 7777")
以下のような表の追加の列に文字列をエンコードしたいと考えています。同じ文字列は同じ数値になることに注意してください。
String Number
318XXXX | VNSGN | BIER 19872
462XXXX | TZZZH | 9905 78392
462XXXX | TZZZH | 9905 78392
462XXXX | TZZZH | 9905 78392
511XXXX | FAWOR | 336H 23053
511XXXX | FAWOR | 336H 23053
652XXXX | XXXXR | T136 95832
652XXXX | XXXXR | T136 95832
672XXXX | BQQSZ | 7777 71829
672XXXX | BQQSZ | 7777 71829