R- 如何使用多个 variables/columns 将长形重塑为宽形

R- How to reshape Long to Wide with multiple variables/columns

我从我的以下数据子集开始

UserID labelnospaces             responses
1      Were you given any info?  yes
1      By using this service..?  yes
1      How satisfied are you?    Very satisfied
2      Were you given any info?  no
2      By using this service..?  no
2      How satisfied are you?    unsatisfied

通过使用下面的代码,我能够完美地从长变宽

service_L_to_W<- reshape(data=service, idvar="UserID",
                         timevar = "labelnospaces",  
                         direction = "wide")

使用上面的代码,我得到了(这就是我想要的)

UserID   Were you given any info?   By using this service..?   How satisfied are you?
1        yes                        yes                        very satisfied
2        no                         no                         unsatisfied

我的问题是如何编辑我的代码,以便我可以将我的数据(使用额外的 variables/columns)从长数据转换为宽数据:

UserID Full Name  DOB     EncounterID QuestionID Name  Type  labelnospaces           responses    
1      John Smith 1-1-90  13          505        Intro Check Were you given any info?  yes
1      John Smith 1-1-90  13          506        Care  Check By using this service..   yes
1      John Smith 1-1-90  13          507        Out   Check How satisfied are you?    vsat
2      Jane Doe   2-2-80  14          505        Intro Check Were you given any info?  no
2      Jane Doe   2-2-80  14          506        Care  Check By using this service..   no
2      Jane Doe   2-2-80  14          507        Out   Check How satisfied are you?    unsat

有些变量放在一起会更好

df %>%
  pivot_wider(id_cols = c(UserID, Full.Name, DOB, EncounterID), names_from = c(QuestionID, QName, labelnospaces), values_from = responses)

  UserID Full.Name  DOB    EncounterID `505_Intro_Were you given any info?` `506_Care_By using this service..`
   <int> <chr>      <chr>        <int> <chr>                                <chr>                             
1      1 John Smith 1-1-90          13 yes                                  yes                               
2      2 Jane Doe   2-2-80          14 no                                   no                                
  `507_Out_How satisfied are you?`
  <chr>                           
1 vsat                            
2 unsat