2017-12-13 9 views
4

複数回表示される文字列が "stringX1"、 "string2"などとタグ付けされるようにオブジェクトの文字列を列挙したいと思います。Rオブジェクトのリピート文字列に対応する番号を付けて返す

これは、入力例のようになります。期待される出力は次のようになり

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

:「stringQ」が2回、私は期待して理由です「stringQ1」であるとことを

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

注意"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 
関連する問題