如何在R中创建虚拟变量?
虚拟变量是一种变量类型,如果在数据帧中存在为其创建虚拟变量的值,则其值为1,否则为0。因此,如果我们在数据帧中具有一个二进制变量,则存在将是两个相同的虚拟变量。要创建一个虚拟变量,我们可以使用model.matrix以下示例中所示的函数。
考虑以下数据帧-
示例
Temp<-sample(c("Hot","Cold"),20,replace=TRUE)输出结果df1<-data.frame(Temp)
df1
Temp1 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 TempHot1 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 1attr(,"contrasts")
attr(,"contrasts")$Temp
[1] "contr.treatment"
示例
Group<-sample(c("A","B","C"),20,replace=TRUE)输出结果df2<-data.frame(Group)
df2
Group1 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 GroupC1 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 1attr(,"contrasts")
attr(,"contrasts")$Group
[1] "contr.treatment"
以上是 如何在R中创建虚拟变量? 的全部内容, 来源链接: utcz.com/z/361436.html