考虑一个字符向量
test <- c('ab12','cd3','ef','gh03')
我需要的所有元素都test
包含4个字符(nchar(test[i])==4
)。如果元素的实际长度小于4,则其余位置应填充零。因此,结果应如下所示
> 'ab12','cd30','ef00','gh03'
我的问题与此类似。但是,我需要使用字符向量。
我们可以使用base R
函数在字符串的末尾填充0以获取相等的字符数。将format
与width
指定为max
的nchar
(字符数)的vector
给出了在端部(后空间作为输出format
默认justify
它right
。然后,我们可以用“0”使用替换每个空间gsub
。在该模式gsub
是一个单一的空间(\\s
),替换为0
。
gsub("\\s", "0", format(test, width=max(nchar(test))))
#[1] "ab12" "cd30" "ef00" "gh03"
或者,如果我们使用的是打包解决方案,则str_pad
这样做更容易,因为它也具有指定的参数pad
。
library(stringr)
str_pad(test, max(nchar(test)), side="right", pad="0")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句