我有一个包含很多类别的变量,要求个人选择他们的前 3 个选择。所以选择是A、B、C和D这里(确实,在我的数据库中有超过 4 个可能的选择)
`var1:choice1`<-c("A","B","C")
`var1:choice2`<-c("B","C","A")
`var1:choice3`<-c("C","D","B")
id=1:3
mydata<-data.frame(id,`var1:choice1`,`var1:choice2`,`var1:choice3`)
Run Code Online (Sandbox Code Playgroud)
现在我想将选项更改为虚拟变量,以便我可以获得每个选项出现的次数。我应该有下面这张表:
var1.A var1.B var1.C var1.D
1 1 1 1 0
2 0 1 1 1
3 1 1 1 0
Run Code Online (Sandbox Code Playgroud)
在 R 基础中,您可以创建一个简单的表:
table(rep(mydata[[1]], 3), paste0('var1.', unlist(mydata[-1])))
var1.A var1.B var1.C var1.D
1 1 1 1 0
2 0 1 1 1
3 1 1 1 0
Run Code Online (Sandbox Code Playgroud)