将数字代码分配给字符向量

时间:2018-03-27 22:18:26

标签: r

让我们考虑一个矩阵X,其中包含两列(城市名称和城市代码)

x1=c('CITYAA','CITYBB','CITYCC')
x2=c(101,201,301)

我有另一个城市名称(Y)的向量,它以小写和大写格式给出:

Y=c('Cityaa','Citybb','Cityaa','Citycc','Cityaa', 'Citybb')

我想要一个矢量(Z),它将城市代码分配给上面的矢量Y(根据X)。

Z= 101 201 101 301 101 201.

我被困在大小写匹配。

1 个答案:

答案 0 :(得分:1)

你可以使用因子,玩水平和标签:

as.numeric(as.character(factor(toupper(Y),x1,x2)))
# [1] 101 201 101 301 101 201