输入不同的nchar向量并输出为四位数字
input different nchar vector and output into four digit
我想写一个函数,一个向量随机到一到四位,我想把它全部打印成四位,如果向量中的字符数不够,我想在该向量前添加 0。
Input:
x <- 1
x <- 12
x <- 123
x <- 1234
Output:
numb(x)
0001
numb(x)
0012
numb(x)
0123
numb(x)
1234
numb <- function(x) {{if(nchar(x) =4) { print(x) }
else if (nchar(x) < 4) { y <- 4 - nchar(x)
paste(nchar(y),x,sep="")}
}
不知道怎么把1变成0,2变成00,3变成000,然后放到粘贴函数里
非常感谢您的帮助。
我们可以使用 sprintf
并指定 fmt
有前导零 (%04d
)
f1 <- function(num){
sprintf("%04d", num)
}
f1(c(1, 12, 123, 1234))
#[1] "0001" "0012" "0123" "1234"
注意:前导零数字是 character
class 而不是 numeric/integer
我想写一个函数,一个向量随机到一到四位,我想把它全部打印成四位,如果向量中的字符数不够,我想在该向量前添加 0。
Input:
x <- 1
x <- 12
x <- 123
x <- 1234
Output:
numb(x)
0001
numb(x)
0012
numb(x)
0123
numb(x)
1234
numb <- function(x) {{if(nchar(x) =4) { print(x) }
else if (nchar(x) < 4) { y <- 4 - nchar(x)
paste(nchar(y),x,sep="")}
}
不知道怎么把1变成0,2变成00,3变成000,然后放到粘贴函数里
非常感谢您的帮助。
我们可以使用 sprintf
并指定 fmt
有前导零 (%04d
)
f1 <- function(num){
sprintf("%04d", num)
}
f1(c(1, 12, 123, 1234))
#[1] "0001" "0012" "0123" "1234"
注意:前导零数字是 character
class 而不是 numeric/integer