考虑以下列表

names = c("Bob", "Steve", "John", "Steve")

我想要一个为每个唯一名称返回整数的函数
int_names = [1,2,3,2]

和字典,这样我就可以回到名字
dict_names = ["Bob", "Steve", "John"]

我可以看到如何使用for循环执行此操作,但是我确定必须在R中执行此操作的效率更高。我认为这可能与factor有关,但是我似乎只能使用int_names并丢失dict_names

最佳答案

您可以使用uniquematch

 dict_names <- unique(names)
 int_names <- match(names, dict_names)

或者通过指定factor为'dict_names'使用levels
 int_names <- as.numeric(factor(names, levels=dict_names))

关于r - 将名称列表转换为R中的整数标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30898923/

10-12 20:11