将包含多个答案的复选框列拆分为R

时间:2017-09-27 13:33:45

标签: r checkbox split delimiter

我在数据集中有多个需要分割的复选框。其中一个复选框问题询问某人所处的状态(因此有50个复选框选项)数据以下列格式导出:

ID  q143
1   1,4,6

但我需要这种格式(每个复选框的真/假格式(未选中/已选中)

ID   q143_1  q143_2  q143_3  q143_4  q143_5  q143_6
100    1       0       0       1       0        1

由于需要制作如此大量的列...有关如何轻松分离的任何想法? 我想是否,然后发表声明,但我认为这需要一段时间。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我们可以使用strsplit

v1 <- as.numeric(strsplit(df1$q143, ",")[[1]])
v2 <- +(Reduce(`:`, range(v1)) %in% v1)
cbind(df1[1], setNames(as.data.frame.list(v2), paste0(names(df1)[2], "_", seq_along(v2))))
#   ID q143_1 q143_2 q143_3 q143_4 q143_5 q143_6
#1  1      1      0      0      1      0      1