要从多列填充的 R 虚拟变量

R Dummy-variable to be populated from multiple columns

我是 R 的初学者,希望在数据集上实现虚拟变量。

我的数据集包含如下几列 -

Dataset1
T1  T2  T3
A   C   B
A   C   B
A   C   B
A   D   C
B   D   C
B   E   F

我想向其中添加虚拟变量,例如 dummy,A;假人,B; dummy,C 等等.. 如果它存在于 T1,T2 或 T3 中,则将它们的值指定为 1,否则为 0.

所以最终的数据集应该是这样的-

T1  T2  T3  dummy,A dummy,B dummy,C dummy,D dummy,E dummy,F
A   C   B   1   1   1   0   0   0
A   C   B   1   1   1   0   0   0
A   C   B   1   1   1   0   0   0
A   D   C   1   0   1   1   0   0
B   D   C   0   1   1   1   0   0
B   E   F   0   1   0   0   1   1

所以有人可以建议我如何实现这一目标吗?

非常感谢这方面的任何帮助。谢谢!

我们可以使用 qdapTools 中的 mtabulate。转置 'Dataset1',将其转换为 data.frame,应用 mtabulate,更改其列名(如果需要)并将 cbind 与原始 'Dataset1'

library(qdapTools)
d1 <- mtabulate(as.data.frame(t(Dataset1)))
row.names(d1) <- NULL
names(d1) <- paste0("dummy.", names(d1))
cbind(Dataset1, d1)
#   T1 T2 T3 dummy.A dummy.B dummy.C dummy.D dummy.E dummy.F
#1  A  C  B       1       1       1       0       0       0
#2  A  C  B       1       1       1       0       0       0
#3  A  C  B       1       1       1       0       0       0
#4  A  D  C       1       0       1       1       0       0
#5  B  D  C       0       1       1       1       0       0
#6  B  E  F       0       1       0       0       1       1