我有一个数据框,其中的列填充有用阿拉伯语和英语编写的值。这会给我的餐桌带来麻烦,因为事实是英语是从左至右书写的,而阿拉伯语是从右至左书写的。因此,我想为某个列中的每个唯一值提供自己的ID。
请考虑到数据集具有超过30万行和超过100个唯一值。
dd$column:
احتراق
تجاوز سرعة
تفحيط
تجاوز سرعة
تجاوز سرعة
تفحيط
我想转换成这样的东西:
dd$column:
ID_1
ID_2
ID_4
ID_2
ID_2
ID_4
所以基本上,我有一列包含x数量的唯一值。我为每个唯一值分配一个ID。接下来,我用ID替换所述列中的每个值。虽然,我还必须想出一些将ID链接到实际单词的方法,以便可以追溯到哪个ID是哪个单词。即,将ID的值改回原始值。
答案 0 :(得分:1)
product
答案 1 :(得分:0)
我认为使用数据表可能有用。
> library(data.table)
> names = data.frame("names" = c("John","James", "John", "Tom", "Jane", "Tom"))
> setDT(names)
> names[ , grp := .GRP, by = list(names)]
> names[ , grp := paste("ID_", grp)]
>> print (names)
names grp
John ID_ 1
James ID_ 2
John ID_ 1
Tom ID_ 3
Jane ID_ 4
Tom ID_ 3