如何将一列英语和阿拉伯语值转换为ID

时间:2018-07-16 09:47:48

标签: r dataframe

我有一个数据框,其中的列填充有用阿拉伯语和英语编写的值。这会给我的餐桌带来麻烦,因为事实是英语是从左至右书写的,而阿拉伯语是从右至左书写的。因此,我想为某个列中的每个唯一值提供自己的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的值改回原始值。

2 个答案:

答案 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