我有一个数据框。一列是加泰罗尼亚的邮政编码,例如 17190 是 Salt Village,当“08”是巴塞罗那,“17”是赫罗纳,“25”是莱里达,“43”是塔拉戈纳,这 4 个县。
我想知道如何将 17190 拆分/减少到 17,按县分组
提前致谢
我们可以使用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)
减法是可以的,而且是我会这样做的方式,此外,如果您有 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