假設一個數據框有很多列都說「獎金」。目標是用附加號碼唯一地重命名每個獎勵列。示例數據:如何增加一個gsub()替換字符串?
string <- c("bonus", "bonus", "bonus", "bonus")
string
[1] "bonus" "bonus" "bonus" "bonus"
所需的列名輸出:
[1] "bonus1" "bonus2" "bonus3" "bonus4"
假設你不知道有多少獎金列有來,所以你不能簡單地從1粘貼到數列的每個獎金列名稱。
以下方法作品,但似乎不雅,似乎太硬編碼:
bonus.count <- nrow(count(grep(pattern = "bonus", x = string)))
string.numbered <- paste0(string, seq(from = 1, to = bonus.count, 1)
的GSUB功能(或其他基於正則表達式的功能)如何可以代替一個遞增的號碼?沿
string.gsub.numbered <- gsub(pattern = "bonus", replacement = "bonusincremented by one until no more bonuses", x = string)