我有一个包含五位和九位数字代码的邮政编码向量。我想从长度超过五的代码中删除结尾数字。
例如,以下代码:
zip<-c(11566, 46235, 50467, 856073217, 97333, 856159229)
应该成为
zip
11566
46235
50467
85607
97333
85615
我认为 gsub 是解决这个问题的好方法,但我不知道如何为它编写代码。我试过这个,但它绝对不起作用。
df$zip<- gsub("\\d(!i:5)", "", as.character(df$zip))
最佳答案
这应该工作
zip<-c(11566, 46235, 50467, 856073217, 97333, 856159229)
> s <- substr(zip,1,5)
> s
[1] "11566" "46235" "50467" "85607" "97333" "85615"
> as.numeric(s)
[1] 11566 46235 50467 85607 97333 85615
>
关于从超过一定长度的数字中删除最后一位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38362560/