我是编码新手,正在学习R的基础知识。我有一个用Excel制作的数据集。它们是邮政编码;但是,导出时会自动删除以0开头的邮政编码。我试图遍历并将0加回来。
我的想法是,假设不带初始零的邮政编码长度为4个字符,我只是找到了长度为4的迭代,然后在前面添加了0,但我没有得到正确的答案。
zip<-c(61415, 19087, 63122, 3104, 1938)
zip<-as.character(zip)
>for(i in zip){
+
+if(nchar(i)==4){
+ paste0("0",i)
+ }
+ }
空值
我应该得到:
“ 61415”,“ 19087”,“ 63122”,“ 03104”,“ 01938”
它可以通过格式化数字来完成vector
与sprintf
sprintf("%05d", zip)
#[1] "61415" "19087" "63122" "03104" "01938"
另一种选择是 str_pad
library(stringr)
str_pad(zip, pad = "0", width = 5)
#[1] "61415" "19087" "63122" "03104" "01938"
注意:这两个选项都不需要任何循环或任何条件语句
zip <- c(61415, 19087, 63122, 3104, 1938)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句