如何用数字值替换字符串?
例如,假设我有一个像这样的向量,
n <- c(rep("Sam", 3), "Harry", rep("Sparky", 2), rep("Ted", 4), "Red")
>n
[1] "Sam" "Sam" "Sam" "Harry" "Sparky" "Sparky" "Ted" "Ted" "Ted"
[10] "Ted" "Red"
我想得到这样的输出,
[1] 1 1 1 2 3 3 4 4 4 4 5
哪里
Sam
被1
索引Harry
被2
索引Sparky
通过3
Ted
通过4
Red
by 5
。 最佳答案
这是使用factor
方法保留期望顺序的解决方案:
n <- factor(n, levels = unique(n))
> as.numeric(n)
[1] 1 1 1 2 3 3 4 4 4 4 5