我发现数据框中某些单元格条目的文本出现乱码,想用字符串替换它们,但是R返回以下消息
#load data from dropbox
library(foreign)
data <- read.csv("https://www.dropbox.com/s/anm8xrovxc5xtr5/comtrade2009.csv?dl=1")
unique(data$ptTitle)[75]
[1] <NA>
#this is not an NA because the text on the CSV file appears to be some garbled string due to encoding,
#it shows "C<U+00F4>te d'Ivoire"
data$ptTitle[data$ptTitle == <NA>] <- "Cote d'Ivoire"
Warning message:
In `[<-.factor`(`*tmp*`, ct2009$ptTitle == "<NA>", value = c(238L, :
invalid factor level, NA generated
不允许我用字符串替换那些乱码,有人知道如何用我喜欢的字符串覆盖那些乱码吗?
更新
因此,我想一种更好的解决方法是在使用stringsAsFactors=F
加载csv文件时添加read.csv
,因此用NA
替换单元格值要容易得多(而不是{ {1}})。
很抱歉此线程可能造成的所有麻烦。