his*_*eim 0 r data-manipulation
我需要为"在R中查找和替换"编写一个通用函数.如何编写采用以下输入的函数
并重写CSV文件/数据框,以便用替换字符串替换所有找到的字符串?
这是一个快速完成工作的功能:
library(stringr)
replace_all <- function(df, pattern, replacement) {
char <- vapply(df, function(x) is.factor(x) || is.character(x), logical(1))
df[char] <- lapply(df[char], str_replace_all, pattern, replacement)
df
}
replace_all(iris, "setosa", "barbosa")
Run Code Online (Sandbox Code Playgroud)
基本上,它标识数据框中作为字符或因子的所有变量,然后应用于str_replace_all
每列.模式应该是正则表达式,但如果要匹配固定字符串,则可以执行(例如)
replace_all(iris, fixed("setosa"), "barbosa")
Run Code Online (Sandbox Code Playgroud)