我正尝试将我在代码中较早生成的数据框的单元格替换为另一文本。
for (i in 1:length(flatfileFltrd)){
rename = paste("WEN", "\\", flatfileFltrd[i,8], sep = "")
flatfileFltrd$fileName[i] = rename
}
返回:
In `[<-.factor`(`*tmp*`, i, value = "WEN\\UA") :
invalid factor level, NA generated
我试图弄清楚我拥有哪种类型的数据帧,因为我假设问题回溯了,因为它们既不相同,也没有运气。 is.atomic(flatfileFltrd $ fileName [i])返回TRUE
该如何解决?有没有更好的方法来替换我的数据元素?
答案 0 :(得分:2)
发生这种情况是因为因素具有特定的允许水平。 有两种解决方法:
flatfileFltrd$fileName <- as.character(flatfileFltrd$fileName)
levels(flatfileFltrd$fileName) <- c(levels(flatfileFltrd$fileName), rename)