当我在具有因子的列上使用model.matrix时,会添加一个新列

时间:2016-02-01 12:34:35

标签: r regression cross-validation

我的数据集中的一列x4具有字符A,B,C。我想在这个数据集上使用这个model.matrix函数。因此,我将具有字符的列强制转换为因子列。

mydata1$x4 = factor(mydata1$x4,labels = c("1","2","3"))
x=model.matrix(y~.,data=mydata1)[,-1]

但是当我使用model.matrix函数时,输出有五列。来自现有数据集的列x4分为x42和x43列。我哪里出错了?我得到如下所示的输出。

Output

1 个答案:

答案 0 :(得分:1)

When you use mode.matrix you column with Factor data type split into separate columns. so you can change your x4 column data type to number type to prevents of splitting

mydata1$x4 <- as.numeric(mydata1$x4)