我在数据集中有多个需要分割的复选框。其中一个复选框问题询问某人所处的状态(因此有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
由于需要制作如此大量的列...有关如何轻松分离的任何想法? 我想是否,然后发表声明,但我认为这需要一段时间。
提前致谢!
答案 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