无法替换因子水平变量中的值

时间:2018-11-09 12:32:15

标签: r string replace na

我发现数据框中某些单元格条目的文本出现乱码,想用字符串替换它们,但是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}})。 很抱歉此线程可能造成的所有麻烦。

0 个答案:

没有答案