首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用reshape将数据从宽数据重构为多列的长数据时出错

使用reshape将数据从宽数据重构为多列的长数据时出错
EN

Stack Overflow用户
提问于 2021-04-21 23:10:43
回答 1查看 45关注 0票数 0

我试图使用reshape将我的数据从宽格式调整为长格式,但我一直收到错误。下面我写了我已经尝试过的代码和我得到的错误信息。

当前数据结构

代码语言:javascript
复制
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        

所需结构

代码语言:javascript
复制
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

这就是我到目前为止所尝试的

代码语言:javascript
复制
    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'

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-21 23:24:24

这里最基本的代码是:

代码语言:javascript
复制
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

您可以添加其他变量,以获得您想要的内容:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67198585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档