lipc20052006的个人博客分享 http://blog.sciencenet.cn/u/lipc20052006

博文

reshape2 实践

已有 2254 次阅读 2014-8-27 11:19 |个人分类:R|系统分类:科研笔记

head(dataL)

   lines rep location   SDW  RDW TRSA   TRL   LRL  DLR   ARL  ARN MARL  CRL

661     1   1        1 101.7 26.6 34.4 345.8 219.8 31.4 148.4  9.0 28.8 87.6

662     1   2        1 109.2 25.1 27.8 349.5 211.6 22.1 114.6  9.0 23.0 59.6

newdataL1=melt(dataL,id=c("lines","rep","location")) #使数据变长

  1. melt(data, id.vars, measure.vars,

  2.   variable.name = "variable", ..., na.rm = FALSE,

  3.   value.name = "value")

其中 id.vars 是被当做维度的列变量,每个变量在结果中占一列;measure.vars 是被当成观测值的列变量,它们的列变量名称和值分别组成 variable 和 value两列,列变量名称用variable.name 和 value.name来指定


保留 id 里的变量,其他变量名(SDW  RDW TRSA。。。)成为新形成的变量(variable)的值,原变量值,为最终值(value)

head(newdataL1)

 lines rep location variable value

1     1   1        1      SDW 101.7

2     1   2        1      SDW 109.2

3     1   3        1      SDW 124.7

4     2   1        1      SDW 140.6

5     2   2        1      SDW  90.2

6     2   3        1      SDW  88.9




newdataL2=dcast(newdataL1,lines+location~variable+rep)######使数据变宽

~前的为保留变量,~后为融合变量,后面组合成新的变量(SDW_1 SDW_2 SDW_3 。。。)

head(newdataL2)

 lines location SDW_1 SDW_2 SDW_3 RDW_1 RDW_2 RDW_3 TRSA_1 TRSA_2 TRSA_3

1     1        1 101.7 109.2 124.7  26.6  25.1  33.8   34.4   27.8   29.7

2     1        2  39.5  66.7  70.5   6.7    NA   9.0   10.4   10.1   10.2






https://blog.sciencenet.cn/blog-253562-822659.html

上一篇:rstudio 操作技巧
下一篇:r aggregate
收藏 IP: 220.249.99.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 18:15

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部