R:如何将Google Forms放入一个变量的多项选择、多项答案问卷数据分开? [复制]

2023-12-09

我使用 Google 表单进行了一项调查。我将响应数据集下载为电子表格,但不幸的是,当涉及多项选择、多个答案响应时,数据看起来像这样:

Q1   Q2        Q3
1   "A, B ,C"  S 
2   "C, D"     T
1   "A, C, E"  U
3   "D"        V
2   "B, E"     Z

我希望它的形式类似于下面的形式:

Q1  Q2        Q2A Q2B Q2C Q2D Q2E   Q3
1   "A, B, C"  1   1   1   0   0     S
2   "C, D"     0   0   1   1   0     T
1   "A, C, E"  1   0   1   0   1     U
3   "D"        0   0   0   1   0     V
2   "B, E"     0   1   0   0   1     Z

有什么聪明的方法可以做到这一点吗?我有几个多项选择、多项答案的问题和超过 250 名受访者,所以我希望能够轻松完成。

提前致谢。


Using dplyr and tidyr套餐:

 dat %>% 
    separate(Q2, paste0("v", 1:5), remove=F) %>% 
    gather(q2, val, v1:v5) %>% 
    na.exclude %>% 
    mutate(val=paste0("Q2", val), q2=1) %>% 
    spread(val, q2) %>%
    select(Q1:Q2, Q2A:Q2E, Q3) %>%
    mutate_at(vars(Q2A:Q2E), .funs=funs(replace(., is.na(.), 0)))


  Q1      Q2 Q2A Q2B Q2C Q2D Q2E Q3
1  1 A, B ,C   1   1   1   0   0  S
2  1 A, C, E   1   0   1   0   1  U
3  2    B, E   0   1   0   0   1  Z
4  2    C, D   0   0   1   1   0  T
5  3       D   0   0   0   1   0  V

输入数据:

dat <- structure(list(Q1 = c(1L, 2L, 1L, 3L, 2L), Q2 = structure(c(1L, 
4L, 2L, 5L, 3L), .Label = c("A, B ,C", "A, C, E", "B, E", "C, D", 
"D"), class = "factor"), Q3 = structure(1:5, .Label = c("S", 
"T", "U", "V", "Z"), class = "factor")), .Names = c("Q1", "Q2", 
"Q3"), class = "data.frame", row.names = c(NA, -5L))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:如何将Google Forms放入一个变量的多项选择、多项答案问卷数据分开? [复制] 的相关文章

随机推荐