用2个因素(rstudio)将复杂DF从长改宽

用2个因素(rstudio)将复杂DF从长改宽,r,R,我有一个数据框,看起来很像这个: CLIENT_CODE TIME DATE question1 question2 question3 question4 ....ETC AA1234 1 12/1 1 3 4 TEXT11 BB1234 1 12/2 0 8 2 TEXT9 CC1234 1 13/1

我有一个数据框,看起来很像这个:

CLIENT_CODE  TIME  DATE  question1  question2  question3  question4 ....ETC
AA1234         1   12/1      1          3          4        TEXT11
BB1234         1   12/2      0          8          2        TEXT9 
CC1234         1   13/1      NA         3          8        TEXT8
AA1234         2   15/2      6          7          9        TEXT7
BB1234         3   17/3      2          3          7        TEXT6
CC1234         3   21/4      2          5          4        TEXT5
BB1234         2   12/6      9          3          2        TEXT3
CC1234         2   02/7      2          2          1        TEXT2
现在,我正在努力解决这个问题(几个小时前,我一直在努力解决这个问题) 就是将因子(c_代码)作为我的行(将几个c_代码合并成一行,在它们匹配的情况下),并且 将时间因素列成一列,以便每次都有问题1、问题2、问题3的答案。。。等 大致如下:

CLIENT_CODE  DATE_1  q1_1  q2_1  q3_1 ...ETC| DATE_2  q1_2  q2_2   q3_2 ...ETC| 
AA1234       12/1     1   3   4  TEXT11     | 15/2     5     4      2         |
BB1234       12/2     0   8   2  TEXT9      | 12/6     2     3      4         |
CC1234       13/1     NA  3   8  TEXT8      | 02/7     3     3      2         |

这似乎可以通过两个步骤轻松完成,尽管我可能缺少一个更简单的方法。为了稍微简化这个问题,我删除了日期列,但如果完全必要,可以在重塑数据帧后重新添加。首先熔化框架:

intermediate <- melt(test, id.vars = c("CLIENT_CODE", "TIME"))

intermediate omg那你:)嘿,Omri,谢谢你的回答。有一个问题,而不是我在新表中只得到0/1的值。可能是因为我在使用dcast函数时收到警告吗?“聚合函数缺失:默认为长度”如果有关系,我的“值”列包含数字、文本和日期,在“melt”函数之后是“as.chatacter”类。
final <- dcast(intermediate, CLIENT_CODE ~ variable + TIME, value.var = "value")