填充和缩小字符

时间:2017-02-06 20:00:55

标签: r padding

我是R的新手。我有一个数字向量,让我们说data <- c(1,3, 5, 10, 101)。我需要的是将每个元素作为一个字符,添加一个零到一个数字,并且每个元素中不要有两个以上的字符。我使用以下代码:

pad <- str_pad(data, width = 2, side = "left", pad="0")  

但这仍然没有减少&#34; 101&#34;至&#34; 10&#34;。有什么建议吗?

这与早期的填充线程不同,后者没有为我提供如何减少&#34; 101&#34;到&#34; 10&#34;

2 个答案:

答案 0 :(得分:2)

library(stringr)

data <- c(1,3, 5, 10, 101)
data <- as.character(data)
data <- strtrim(data, 2)
data <- str_pad(data, width = 2, side = "left", pad = "0")
data
# [1] "01" "03" "05" "10" "10"

我将步骤分开,但您也可以轻松地嵌套其中一些步骤。

答案 1 :(得分:0)

这是一个可以做你想要的功能

str_pad = function(data){    
     data = ifelse(abs(data)<10,
                         paste("0", data,sep = ""),
                         ifelse(abs(data)>100,
                                substr(as.character(data),1,2),
                                as.character(data))) 
    return(data)
}