如何解决使用 model.matrix() 创建虚拟变量
以下代码不起作用,有人可以提供帮助吗?
dataframe1<-data.frame(x1 = c(1:5),x2 = 1,x3 = 0)
dataframe1
model.matrix(~x1 - 1,dataframe1)
解决方法
我们也可以转换为 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
,
将 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"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。