r-使用整形将数据从宽数据重组为多列的长数据时出错



我正试图使用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

你可以添加其他变量,以便拥有你想要的:

相关内容

  • 没有找到相关文章

最新更新