Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用R预测函数时,新数据因子的水平误差与原始数据不匹配_R - Fatal编程技术网

在使用R预测函数时,新数据因子的水平误差与原始数据不匹配

在使用R预测函数时,新数据因子的水平误差与原始数据不匹配,r,R,我用R来建立预测模型。但是,predict总是给我错误消息,例如 我知道这应该是由于一些测试功能级别没有包含在培训功能级别中。由于特征矩阵本身较大,在测试数据集的特征矩阵中很难逐个修改特征层次。是否有一种方法可以强制测试数据集中的功能项级别,以适应现有的培训功能项级别。以下是一个示例,说明如何使测试变量与培训变量具有相同的级别: test <- factor(LETTERS[1:5]) training <- factor(LETTERS[4:10]) levels(test) #

我用R来建立预测模型。但是,
predict
总是给我错误消息,例如


我知道这应该是由于一些测试功能级别没有包含在培训功能级别中。由于特征矩阵本身较大,在测试数据集的特征矩阵中很难逐个修改特征层次。是否有一种方法可以强制测试数据集中的功能项级别,以适应现有的培训功能项级别。

以下是一个示例,说明如何使测试变量与培训变量具有相同的级别:

test <- factor(LETTERS[1:5])
training <- factor(LETTERS[4:10])
levels(test)
#[1] "A" "B" "C" "D" "E"
测试
test[2] <- training[5]
#Warning:
#  In `[<-.factor`(`*tmp*`, 2, value = 5L) :
#  invalid factor level, NA generated
levels(test) <- union(levels(test), levels(training))
levels(test)
#[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
test
#[1] A B C D E
#Levels: A B C D E F G H I J
test[2] <- training[5]
test
#[1] A H C D E
#Levels: A B C D E F G H I J