R语言中Replace函数实现数据框中字符的批量替换

 

001、

> a <- c("abc", "bcd", "ead")
> b <- c("ead", "aya", "dbe")
> c <- c("mna", "ond", "dne")
> d <- data.frame(a, b, c)
> d
    a   b   c
1 abc ead mna
2 bcd aya ond
3 ead dbe dne
> library(do)
> Replace(d,"a", "Q")    ## 将数据框d中的a全部替换为Q
    a   b   c
1 Qbc eQd mnQ
2 bcd QyQ ond
3 eQd dbe dne

 

for循环 + gsub实现同样的功能:

> a <- c("abc", "bcd", "ead")
> b <- c("ead", "aya", "dbe")
> c <- c("mna", "ond", "dne")
> d <- data.frame(a, b, c)
> e <- d
> e
    a   b   c
1 abc ead mna
2 bcd aya ond
3 ead dbe dne
> for (i in 1:nrow(e)) {      ## 将数据框中的a全部替换为Q
+   for (j in 1:ncol(e)) {
+     e[i,j] = gsub("a", "Q", e[i,j])
+   }
+ }
> e
    a   b   c
1 Qbc eQd mnQ
2 bcd QyQ ond
3 eQd dbe dne

 

posted @ 2022-04-28 19:55  小鲨鱼2018  阅读(4481)  评论(0编辑  收藏  举报