0

我有一个数据框。一列是加泰罗尼亚的邮政编码,例如 17190 是 Salt Village,当“08”是巴塞罗那,“17”是赫罗纳,“25”是莱里达,“43”是塔拉戈纳,这 4 个县。

我想知道如何将 17190 拆分/减少到 17,按县分组

提前致谢

4

2 回答 2

2

我们可以使用substr

substr(17190, start=1, stop=2)

回报:

[1] "17"

编辑:

如何应用于substr整列:

substr(c(1234, 4567, 8910), start=1, stop=2)

回报:

[1] "12" "45" "89"

或用一data.frame列:

iris$short_species <- substr(iris$Species, start=1, stop=2)
于 2020-02-17T12:26:04.153 回答
0

减法是可以的,而且是我会这样做的方式,此外,如果您有 50 个邮政编码,您可能希望有第二张表,您可以在其中将代码与省名联系起来。

这是一个您可能感兴趣的示例:

Codis<-data.frame(codi=c("08","17","25","43"),
                  provincia=c("Barcelona","Girona","Lleida","Tarragona"))
ex<-data.frame(CP=c("17888","17963","08123","08951","25003","25195","43333","43005"))

ex$provincia<-Codis$provincia[match(unlist(substr(ej$CP,1,2)),Codis$codi)]

结果:

     CP provincia
1 17888    Girona
2 17963    Girona
3 08123 Barcelona
4 08951 Barcelona
5 25003    Lleida
6 25195    Lleida
7 43333 Tarragona
8 43005 Tarragona
于 2020-02-17T14:54:39.847 回答