下面的代码
a <- seq(1,101,25)
b <- paste("name", 1:length(a), sep = "_")
产生这个输出:
"name_1" "name_26" "name_51" "name_76" "name_101"
我希望所有值具有相同的宽度,这意味着我要用零填充这些值,如下所示:
"name_001" "name_026" "name_051" "name_076" "name_101"
我该如何处理?
(This question is related to this one.)
对此有几种解决方案。
其中之一是使用sprintf
。这使用C
样式格式化代码嵌入在字符串中,以指示传递给它的任何其他参数的格式。例如,格式化代码%3d
表示将数字格式化为宽度为 3 的整数:
a <- seq(1,101,25)
sprintf("name_%03d", a)
[1] "name_001" "name_026" "name_051" "name_076" "name_101"
另一个是formatC
and paste
:
paste("name", formatC(a, width=3, flag="0"), sep="_")
[1] "name_001" "name_026" "name_051" "name_076" "name_101"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)