R 替换字符串而不更改其他嵌入字符串
我有以下数据框R 替换字符串而不更改其他嵌入字符串,r,regex,string,gsub,R,Regex,String,Gsub,我有以下数据框 df <- data.frame(c(1, 2, 3, 4), c("T-A1", "T-A1-2", "T-A1-3", "T-A1-4"), c("apple", "banana", "pear", "orange")) names(df) <- c("num", "name", "fruit") num name fruit 1 1 T-A1 apple 2 2 T-A1-2 banana 3 3 T-A1-3 pear 4
df <- data.frame(c(1, 2, 3, 4), c("T-A1", "T-A1-2", "T-A1-3", "T-A1-4"), c("apple", "banana", "pear", "orange"))
names(df) <- c("num", "name", "fruit")
num name fruit
1 1 T-A1 apple
2 2 T-A1-2 banana
3 3 T-A1-3 pear
4 4 T-A1-4 orange
我已使用此功能:
df$name <- gsub("T-A1", "T-A1-1", df$name)
然后我尝试了这个公式:
df$name <- gsub("T-A1", "T-A1-1", df$name, fixed = TRUE)
df$name您需要告诉gsub
您要查找的字符串正是T-A1
df$name <- gsub("^T-A1$", "T-A1-1", df$name)
## num name fruit
## 1 1 T-A1-1 apple
## 2 2 T-A1-2 banana
## 3 3 T-A1-3 pear
## 4 4 T-A1-4 orange
df$name
df$name <- gsub("T-A1", "T-A1-1", df$name, fixed = TRUE)
df$name <- gsub("^T-A1$", "T-A1-1", df$name)
## num name fruit
## 1 1 T-A1-1 apple
## 2 2 T-A1-2 banana
## 3 3 T-A1-3 pear
## 4 4 T-A1-4 orange