我正在使用新的数据集,但是在导入之后,它显示了错误的编码。所有的“ã”都显示为其他内容。
我找到了一种使用iconv()修复列的方法,但是有一种简单的方法可用于所有389列吗?
md2016 <- read_delim("~microdados_2016", ";", escape_double = FALSE, trim_ws = TRUE)
md2016$v1 <- iconv(md2016$v1, to = "UTF-8"
答案 0 :(得分:1)
您可以使用lapply
:
md2016new <- lapply(md2016, iconv, to = "UTF-8")
答案 1 :(得分:0)
您可以将数据直接加载到数据帧中并一步转换。 您将需要“阅读器”(独立或“ tidyverse”的一部分)
首先猜测输入数据是什么编码
readr::guess_encoding("path/to/file.csv")
注意结果,对我来说是
# A tibble: 2 x 2
encoding confidence
<chr> <dbl>
1 ISO-8859-1 0.27
2 ISO-8859-2 0.21
然后将readr与一些参数一起使用,包括上面找到的输入编码值
data <- read_csv("path/to/file.csv",
locale = locale(encoding = "ISO-8859-2",
asciify = TRUE))
答案 2 :(得分:0)
一个 tidyverse 解决方案:
df<-df %>%
mutate_if(is.character,
function(col) iconv(col, to="UTF-8"))