R:如何通过添加以前的 ID 来分配新的 4 位数 ID

R: How to assign new 4 digits ID by adding previous ID

我看到了问题()。

我有类似的问题,但我想分配 5 位数的 ID,比如

df2 <- data.frame(id=c(1,10,100),new_id=c("z0001","z0010","z0100"))

来自

df1 <- data.frame(id=c(1,10,100))

请告诉我这样做的方法而不是仅仅粘贴 'z000'。

stringr可以为所欲为:

library(stringr)
df1 <- data.frame(id=c(1,10,100))

df1$new_id <- str_c("z", str_pad(df1$id, 4, pad = "0"))
df1

在基础 R 中,我们可以使用 sprintfpaste0

df1$new_id <- paste0('z', sprintf('%04d', df1$id))
df1

#   id new_id
#1   1  z0001
#2  10  z0010
#3 100  z0100