R: Как назначить новый 4-значный идентификатор, добавив предыдущий идентификатор - PullRequest
0 голосов
/ 12 марта 2020

Я видел вопрос ( Как изменить новый столбец путем изменения другого столбца? ).

У меня похожая проблема, но я хочу назначить 5-значный идентификатор, например

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

из

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

Пожалуйста, скажите мне, как это сделать, вместо того, чтобы просто вставлять 'z000'.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

В базе R мы можем использовать sprintf с paste0

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

#   id new_id
#1   1  z0001
#2  10  z0010
#3 100  z0100
0 голосов
/ 12 марта 2020

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
...