2017-12-13 28 views
4

한 번 이상 나타나는 문자열에 "stringX1", "string2"등의 태그가 붙는 방식으로 객체의 문자열을 열거하고 싶습니다. 예상 출력이 될 것R 객체의 반복 문자열에 해당 번호로 표시

strings <- c("stringQ", "stringW", "stringE", "stringQ") 

:

이 입력 예가 될 것 "stringQ는"두 번이 있음을

stringOut <- c("stringQ1", "stringW1", "stringE1", "stringQ2") 

주, 그게 내가 "stringQ1"를 기대하는 이유와 "stringQ2".

답변

4

우리는 ave

paste0(strings, ave(strings, strings, FUN = seq_along)) 

을 사용할 수 있습니다 또는 우리가 당신은 dplyr하여이 작업을 수행 할 수 있습니다 중복 요소

make.unique(strings, sep="") 
2

에서 번호 매기기를 시작하면 다음과 같이

require(dplyr) 

strings <- data.frame(string = c("stringQ", "stringW", "stringE", "stringQ")) 

strings %>% group_by(string) %>% 
    mutate(stringnumber = paste0(string,row_number())) %>% 
    ungroup() %>% 
    select(stringnumber) 

입술 도달 범위 :

# A tibble: 4 x 1 
stringnumber 
<chr> 
1  stringQ1 
2  stringW1 
3  stringE1 
4  stringQ2