感谢42的评论,我设法编写了一个函数来重新编码文件:
fix.encoding <- function(df, originalEncoding = "latin1") { numCols <- ncol(df) for (col in 1:numCols) Encoding(df[, col]) <- originalEncoding return(df)}这里的内容是命令
Encoding(df[, col]) <-"latin1",该命令获取
col数据帧的列
df并将其转换为latin1格式。不幸的是,
Encoding仅将列对象作为输入,因此我不得不创建一个函数来清除数据框对象的所有列并应用转换。
当然,如果您的问题仅存在于两列中,则最好将
Encoding应用于这些列而不是整个数据框(您可以修改上面的函数以将一组列作为输入)。另外,如果您遇到相反的问题,即将在Linux或Mac
OS中创建的R对象读入Windows,则应使用
originalEncoding = "UTF-8"。



