【发布时间】:2020-11-26 04:45:59
【问题描述】:
我有一个数据框,其中一个变量是其他变量的列表。
data <- data.frame(
id = c(10, 20, 30, 40),
x = c("a,b", "a,d", "b,c", "d,b")
)
data <- data %>% mutate(x = strsplit(x, ",", fixed = TRUE))
id x
1 10 a,b
2 20 a,d
3 30 b,c
4 40 d,b
我想要一种简单的方法来根据变量是否在列表中来创建虚拟变量,并将这些结果放在原始数据框中。
例如,
id a b c d
1 10 1 1 0 0
2 20 1 0 0 1
3 30 0 1 1 0
4 40 0 1 0 1
这与问题here 非常相似,但我找不到任何方法来获得任何建议的方法来处理数据框。 我查看了 dummies 包、qdapTools、fastDummies,但似乎没有我想要的东西。
非常感谢您的帮助!
【问题讨论】:
-
不要运行
strsplit步骤。直接在data上运行。result <- splitstackshape::cSplit_e(data, "x", type = 'character', fill = 0)
标签: r