如何用对应的特殊字符替换某个字符串(例如“ÃŔ)的所有出现?(不幸的是,字符编码错误)。
例如,我想用“ü”替换“ü”,用“ä”替换“䤔等。我可以使用以下代码来做到这一点,但是如何将其应用于数据中的每一列。帧?我如何最有效地做到这一点?
df$colum<-gsub("ü", "ü", daf$column)
谢谢!
答案 0 :(得分:1)
根据实际问题,可能有几种解决方法:
A :
如果原始数据(例如csv文件等)看起来不错,并且您仅看到R中的编码错误,则应尝试使用正确的编码读取文件-大多数读取器和写入器函数都为此参数和UTF设置参数-8在大多数情况下应该可以工作。例如,您可以尝试read.csv(your_file_path, fileEncoding='UTF-8')
或类似方法(具体取决于您读取数据的方式。)
B :
数据实际上已损坏(例如,以前有人弄乱了编码,这不是您读取错误的错误),现在您要手动修复(仅适用于几个字符,例如ä,ö,ü, ß。)
然后,使用dplyr
包,您可以:
创建一个修复错误的函数:
my_fun <- function(str){
str <- gsub("ü", "ü", str)
str <- gsub("ä", "ä", str)
< additional steps >
str
}
将其应用于数据框的每个字符列:
df %>% mutate_if(is.character, my_function)