匹配两个数据集中的变量级别

时间:2017-09-01 18:58:50

标签: r

我正在研究预测模型,需要使用如下所示的代码匹配训练数据和测试数据中每个变量的级别:

levels(test$MSSubClass) <- levels(train$MSSubClass)

共有87个变量。而不是一个接一个地做。我正在寻找一种方法来同时匹配它们。目前,我的代码是这样的:

levels(test$MSSubClass) <- levels(train$MSSubClass)
levels(test$MSZoning) <- levels(train$MSZoning)
levels(test$LotFrontage) <- levels(train$LotFrontage)
levels(test$LotArea) <- levels(train$LotArea)
levels(test$Street) <- levels(train$Street)
....

1 个答案:

答案 0 :(得分:0)

如果test中的级别是train中的级别的一部分:

# Get the column names that are factors
factor_names <- names(train)[sapply(train, class) == "factor"]

# Set the factor levels in test to be same as train
for (name in factor_names) {levels(test[,name]) <- levels(train[,name])}