更改数据框的因子级别

时间:2015-03-04 11:17:10

标签: r lapply r-factor

我正在尝试预测新数据,在某些情况下,这些新数据的新因子水平可能比用于拟合模型的数据高。因此,我想更改新数据中的因子级别以匹配旧数据的因子级别。我会更改那些数据与NAs匹配的实例,如here所述。我可以逐列手动完成,但我想将此替换推广到我的数据框中的所有列。有人可以请一些深入了解如何做到这一点,大概是申请?

我已尝试使用以下功能

 lapply(newDta, function(x) {
    newFactorVector <- which(!(newDta[, x] %in% levels(oldDta[, x])))
    newDta[newFactorVector, x] <- NA
    levels(newDta[, x]) <- levels(oldDta[, x])
})

但它会引发以下错误:

Error in Summary.factor(c(2L, 1L, 7L, 1L, 7L, 2L, 2L, 2L, 2L, 7L, 1L,  :
min not meaningful for factors 

感谢。

0 个答案:

没有答案
相关问题