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