使用重塑将数据从宽数据重组为多列长数据时出错

Error when using reshape to restructure data from wide to long data with multiple column

我正在尝试使用 reshape 从宽格式到长格式重组我的数据,但我一直收到错误消息。下面我写了我已经尝试过的代码和我得到的错误消息。

当前数据结构

patientid  Adh_catv1    Adh_catv2    Adh_catv3    Adh_threeitemsv1   Adh_threeitemsv2  Adh_threeitemsv3
70FD       optimal      optimal      optimal      86                 90                100
70LJ       suboptimal   suboptimal   optimal      40                 50                70
70ML       optimal      suboptimal   suboptimal   89                 55                50        

所需的结构

patientid  Visits    Adherence    Adherence_threeitem
70FD       visit1   optimal        86
70FD       visit2   optimal        90
70FD       visit3   optimal        100
70LJ       visit1   suboptimal     40
70LJ       visit2   suboptimal     50
70LJ       visit3   optimal        70
70ML       visit1   optimal        89
70ML       visit2   suboptimal     55
70ML       visit3   suboptimal     50

这是我目前尝试过的方法


    reshape(df, direction = 'long',
        varying = c ('adh_catv1:Adh_threeitemsv3'),
        timevar = 'Visits',
        times = c ("visit1","visit2","visit3"),
        v.names = c ('adherence','adherence_threeitem),
        idvar = 'patientid')

Error in reshape(df, direction = "long", varying = c("adh_catv1:Adh_threeitemsv3"),  : 
  length of 'varying' must be the product of length of 'v.names' and length of 'times'

请告知我在上面的代码中做错了什么,或者建议使用其他函数的替代更简单的选项。

这里最基本的代码是:

reshape(df,-1, dir="long", sep="")

    patientid time   Adh_catv Adh_threeitemsv id
1.1      70FD    1    optimal              86  1
2.1      70LJ    1 suboptimal              40  2
3.1      70ML    1    optimal              89  3
1.2      70FD    2    optimal              90  1
2.2      70LJ    2 suboptimal              50  2
3.2      70ML    2 suboptimal              55  3
1.3      70FD    3    optimal             100  1
2.3      70LJ    3    optimal              70  2
3.3      70ML    3 suboptimal              50  3

您可以根据需要添加其他变量: