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

One new column gets added when i use model.matrix on a column that has factors

我的数据集中的一列 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 列。我哪里出错了?我得到如下所示的输出。

当您使用 mode.matrix 时,您会将 Factor data type 的列拆分为单独的列。 因此您可以将 x4 列数据类型更改为数字类型以防止拆分

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