下面的代码

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 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"

另一个是formatCpaste:

paste("name", formatC(a, width=3, flag="0"), sep="_")
[1] "name_001" "name_026" "name_051" "name_076" "name_101"

R相关问答推荐

用单个表达匹配多个替代模式

通过绘图 Select 线串几何体并为其着色

使用Shiny组合和显示复制和粘贴的数据

卸载安装了BRM的模型发出的警告

编码变量a、b、c以匹配来自另一个数据点的变量x

从嵌套列表中智能提取线性模型系数

更改绘图上的x轴断点,而不影响风险?

向gggplot 2中的数据和轴标签添加大写和星号

如何在emmeans中计算连续变量的对比度

如果第一个列表中的元素等于第二个列表的元素,则替换为第三个列表的元素

bslib::card_header中的shine::downloadButton,图标而不是文本

制作等距离的线串副本

我如何才能找到FAMILY=POISSON(LINK=&Q;LOG&Q;)中的模型预测指定值的日期?

`lazy_dt`不支持`dplyr/across`?

如何在ggplot2中绘制具有特定 colored颜色 的连续色轮

从R中的对数正态分布生成随机数的正确方法

如何将使用rhandsontable呈现的表值格式化为百分比,同时保留并显示完整的小数精度?

将标识符赋给事件序列,避免错误观察

提高圣彼得堡模拟的速度

如何使用FormC使简单算术运算得到的数字是正确的?