R中的正则表达式匹配数字

时间:2017-04-10 10:12:55

标签: r regex

我想比较由4个数字编码的邮政编码,这些编号是R中的因子标签。问题是在1格式中这些代码的第四位总是0而在另一种格式中它可以变化,所以我有1010但也有1012 ,1015,但他们都意味着相同。因此,我想阅读完整的邮政编码,并用“标准代码”替换它们,其中0为第四位。

v1 <- c(,"1011", "1015", "1017","1207","1209")
v2 <- c("1010","1200")

如何在上面的向量v1中读取所有因子级别,并使用正则表达式系统地将最后一个数字替换为向量v2

1 个答案:

答案 0 :(得分:0)

您将使用以下方法获取矢量的前三个元素:

    Three.str <- substr(v1, 1,3)

因此,您可以使用以下内容更改以"101"开头的所有因素:

    v1[Three.str=="101"] <- "1010"

以及您想要使用的相应编码。