2017-09-01 91 views
0

我工作的一個預測模型,需要從如下圖所示的訓練數據,並使用代碼測試數據匹配每個變量的水平等級:匹配的變量來自兩個數據集

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

FACT =其中(sapply(火車,類)== 「因素」 ); (i,FACT){levels(test [,i])< - levels(train [,i])}的 } – G5W

回答

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])} 
相關問題