我想使用训练集中的变量名从测试集中创建一个设计矩阵。
例如,如果我的训练集是
(Intercept) Time2008 Time2009 Time2012 Rate Monocot1 Warm1
1 1 0 1 0 62.5 0 1
2 1 0 0 0 250.0 0 1
3 1 0 0 0 1000.0 0 1
4 1 0 0 0 1000.0 0 1
5 1 0 0 0 62.5 0 1
6 1 0 0 0 1000.0 0 1
我的测试数据是
Time Rate Monocot Warm
1 2012 1.00000 0 1
2 2012 35.44828 0 1
3 2012 69.89655 0 1
4 2012 104.34483 0 1
5 2012 138.79310 0 1
6 2012 173.24138 0 1
它只有 2012 年作为时间级别,那么我希望在我的测试数据的设计矩阵中为训练数据中的级别提供列,其中零表示它们不存在。model.matrix 不允许我这样做。
此外,model.matrix 不会让我将一列一列作为一个级别的因子,2012。但是我仍然希望在测试集的设计矩阵中使用这个以及其他零列。先感谢您。