我有一个更大的数据集(大约 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