У меня есть набор данных, который может выглядеть следующим образом:
x <- data.frame(id=c(1,2,3),
col1=c("UX1", "UX3", "UX2"),
col2=c("UX2", "UX1", "UX1"),
col3=c("PROC1", "PROC2", "PROC3"),
col4=c("PROC3", "PROC3", "PROC1")
)
output:
id col1 col2 col3 col4
1 1 UX1 UX2 PROC1 PROC3
2 2 UX3 UX1 PROC2 PROC3
3 3 UX2 UX1 PROC3 PROC1
, и я хотел бы, чтобы выходные данные выглядели так:
x2 <- data.frame(id=c(1,2,3),
col1=c("UX1", "UX3", "UX2"),
col2=c("UX2", "UX1", "UX1"),
col3=c("PROC1", "PROC2", "PROC3"),
col43=c("PROC3", "PROC3", "PROC1"),
UX1=c(1,1,1),
UX2=c(1,0,1),
UX3=c(0,1, 0),
PROC1 =c(1,0,1),
PROC2=c(0,1,0),
PROC3 = c(1,1,1))
Требуется вывод:
id col1 col2 col3 col43 UX1 UX2 UX3 PROC1 PROC2 PROC3
1 1 UX1 UX2 PROC1 PROC3 1 1 0 1 0 1
2 2 UX3 UX1 PROC2 PROC3 1 0 1 0 1 1
3 3 UX2 UX1 PROC3 PROC1 1 1 0 1 0 1
Таким образом, для создания пустышки, если строка содержит строку.Я могу создать dummy.data.frame
, используя library(dummies)
например
y <- dummy.data.frame(x)
, но этот подход думает, что (например) UX1 в первом столбце отличается от UX1 во втором столбце.Так что dummy.data.frame не работает ...