prepend.zero.to.numbers <- function(x, n = NULL, pad.char = "0")
{
## Purpose: Add "0" to the front of numbers to make n-digit string.
## Arguments:
## x: a vector of integers/characters
## n: Number of total digits after padding with zero. Default to
## using the largest number to calculate "n".
## pad.char: what character to pad. Default to "0".
## Return: a character vector with nuumbers padded with zero's in the head.
## Author: Feiming Chen, Date: 19 Jun 2017, 13:19
## ________________________________________________
x1 <- as.character(x)
y <- nchar(x1)
if (is.null(n)) n <- nchar(as.character(max(x)))
y1 <- n - y # how long is the padding for each number
pad.vector <- sapply(y1, function(w) paste(rep(pad.char, w), collapse = ""))
paste0(pad.vector, x1)
}
if (F) { # Unit Test
x <- c(2, 14, 156, 1892)
prepend.zero.to.numbers(x) # "0002" "0014" "0156" "1892"
prepend.zero.to.numbers(x, pad.char = "X") # "XXX2" "XX14" "X156" "1892"
prepend.zero.to.numbers(x, n = 6) # "000002" "000014" "000156" "001892"
y <- c("A", "BC", "DEF")
prepend.zero.to.numbers(y, 3) # "00A" "0BC" "DEF"
}
Monday, June 19, 2017
Add "0" to the front of numbers to make n-digit string
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment