我的数据集中有一个分类变量。我想用一个名为“其他”的值替换测试数据集中存在但训练集中不存在的级别
这是它的外观:
levels(training$var1)级别为“1”“2”“3”“其他”
levels(testing$var1)级别为“1”“2”“3”“4”“5”“6”“7”“8”“9”“10”
我想替换测试数据中不是训练数据的所有级别。为了实现这一点,我首先考虑级别之间的差异。
a <- setdiff(levels(levels(testing$var1),training$var1)).
我得到的输出为
levels(a)作为“4”“5”“6”“7”“8”“9”“10”
现在我需要用“其他”替换所有上述差异值。请注意,我不想退出这些级别,但我想用“其他”替换。
为此,我尝试了
testing$var1[testing$var1 == "4" <- 'Others"
testing$var1[testing$var1 == "5" <- 'Others" ==> these works.
但是我想在运行时实现它,如下所示:
testing$var1[testing$var1 == a[1,] <- 'Others"
但这不起作用。