R을 사용하여 일부 값이 누락 된 고유 식별자에 누락 된 0을 추가하는 방법은 무엇입니까?

user35131

총 13 자 (대시 포함 15 자)를 포함해야하는 고유 ID가 있습니다. 다음과 같이 보일 것입니다.

2005-067-000043

그러나 일부 항목은 다음과 같을 수 있습니다.

2005-067-00043 or 2005-67-000043 or 2005-067-0000043

나는 첫 번째와 두 번째 대시 사이에 3 개의 문자가 있어야한다는 스크립트를 원합니다. 마지막 대시 뒤에 0을 더 적게 추가하거나 앞에 0을 더 자르면 6자가 있어야한다고 말하는 마지막 섹션도 마찬가지입니다.

로낙 샤

데이터를 3 개의 열로 분할하고 2 번째 및 3 번째 열에 3 개 및 6 개의 문자 만 유지하고 열을 다시 하나로 결합 할 수 있습니다.

library(dplyr)
library(tidyr)

separate(df, x, paste0('col', 1:3), sep = '-') %>%
  mutate(col2 = sprintf('%03s', substring(col2, nchar(col2) - 2)), 
         col3 = sprintf('%06s', substring(col3, nchar(col3) - 5))) %>%
  unite(result, starts_with('col'), sep = '-')

#           result
#1 2005-067-000043
#2 2005-067-000043
#3 2005-067-000043
#4 2005-067-000043
x <- c('2005-067-000043', '2005-067-00043', '2005-67-000043', '2005-067-0000043')
df <- data.frame(x)
df

#                 x
#1  2005-067-000043
#2   2005-067-00043
#3   2005-67-000043
#4 2005-067-0000043

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관