2

以下代码不起作用,有人可以提供帮助吗?

dataframe1<-data.frame(x1 = c(1:5) , x2 = 1 , x3 = 0)
dataframe1
model.matrix(~x1 - 1 , dataframe1)
4

2 回答 2

2

我们也可以转换为character

dataframe1$x1 <-  as.character(dataframe1$x1)
> model.matrix(~x1 - 1, dataframe1)
  x11 x12 x13 x14 x15
1   1   0   0   0   0
2   0   1   0   0   0
3   0   0   1   0   0
4   0   0   0   1   0
5   0   0   0   0   1
于 2021-07-07T21:33:29.690 回答
1

设为x1因子变量。

dataframe1<-data.frame(x1 = c(1:5) , x2 = 1 , x3 = 0)
dataframe1$x1 <- factor(dataframe1$x1)
model.matrix(~x1 - 1, dataframe1)

#  x11 x12 x13 x14 x15
#1   1   0   0   0   0
#2   0   1   0   0   0
#3   0   0   1   0   0
#4   0   0   0   1   0
#5   0   0   0   0   1
#attr(,"assign")
#[1] 1 1 1 1 1
#attr(,"contrasts")
#attr(,"contrasts")$x1
#[1] "contr.treatment"
于 2021-07-07T03:47:00.497 回答