通过多个分组从长到宽重塑 [英] Reshape long to wide with multiple groupings

查看:7
本文介绍了通过多个分组从长到宽重塑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据如下:

  Smoker PtNo Day Hour FEV1 timename
1       0    1   1    0 3.26     d1h0
2       0    1   1    2 3.05     d1h2
3       0    1   1    4 3.02     d1h4
4       0    1   1    6 3.27     d1h6
5       0    1   2    0 3.28     d2h0
6       0    1   2    2 3.07     d2h2
7       0    1   2    4 3.35     d2h4
8       0    1   2    6 3.07     d2h6
9       0    1   3    0 3.28     d3h0
10      0    1   3    2 3.44     d3h2

我想将其重塑为宽格式,如下所示:

PtNo  Smoker  FEV1.d1h0  FEV1.d1h2  FEV1d1.h3   etc.
其中PtNo和Smoker是不随时间变化的自变量,FEV1是测量的时变变量。我使用reshapemelt/dcast包中的函数得到各种错误消息。有什么建议吗?(请根据新手级别量身定制回答。)

推荐答案

您在找这个吗?

reshape(dat,direction='wide',
        idvar=c('Smoker','PtNo'),
        v.names='FEV1',
        timevar='timename',
        drop=c('Day','Hour'))

 Smoker PtNo FEV1.d1h0 FEV1.d1h2 FEV1.d1h4 FEV1.d1h6 FEV1.d2h0 FEV1.d2h2 FEV1.d2h4 FEV1.d2h6 FEV1.d3h0 FEV1.d3h2
1      0    1      3.26      3.05      3.02      3.27      3.28      3.07      3.35      3.07      3.28      3.44

这篇关于通过多个分组从长到宽重塑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆