如何在 R 中创建虚拟变量?
虚拟变量是一种变量,如果虚拟变量被创建的值存在于数据框架中,则该值变为 1,否则变为 0。因此,如果数据框架中有一个二元变量,则其将有两个虚拟变量。要创建虚拟变量,我们可以使用 model.matrix 函数,如以下示例所示。
考虑以下数据框架 −
示例
Temp<-sample(c("Hot","Cold"),20,replace=TRUE)
df1<-data.frame(Temp)
df1输出
Temp 1 Cold 2 Hot 3 Cold 4 Cold 5 Hot 6 Hot 7 Hot 8 Cold 9 Hot 10 Hot 11 Cold 12 Hot 13 Cold 14 Cold 15 Hot 16 Hot 17 Hot 18 Hot 19 Cold 20 Hot
在 df1 中创建 Temp 的虚拟变量 −
示例
model.matrix(~Temp-1,data=df1)
输出
TempCold TempHot 1 1 0 2 0 1 3 1 0 4 1 0 5 0 1 6 0 1 7 0 1 8 1 0 9 0 1 10 0 1 11 1 0 12 0 1 13 1 0 14 1 0 15 0 1 16 0 1 17 0 1 18 0 1 19 1 0 20 0 1
attr(,"assign")
[1] 1 1 attr(,"contrasts") attr(,"contrasts")$Temp [1] "contr.treatment"
示例
Group<-sample(c("A","B","C"),20,replace=TRUE)
df2<-data.frame(Group)
df2输出
Group 1 B 2 C 3 B 4 A 5 A 6 C 7 C 8 C 9 C 10 A 11 B 12 A 13 A 14 C 15 B 16 B 17 C 18 A 19 C 20 A
在 df2 中创建 Group 的虚拟变量 −
示例
model.matrix(~Group-1,data=df2)
输出
GroupA GroupB GroupC 1 0 1 0 2 0 0 1 3 0 1 0 4 1 0 0 5 1 0 0 6 0 0 1 7 0 0 1 8 0 0 1 9 0 0 1 10 1 0 0 11 0 1 0 12 1 0 0 13 1 0 0 14 0 0 1 15 0 1 0 16 0 1 0 17 0 0 1 18 1 0 0 19 0 0 1 20 1 0 0
attr(,"assign")
[1] 1 1 1 attr(,"contrasts") attr(,"contrasts")$Group [1] "contr.treatment"
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP