如何在 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