首页 > 解决方案 > r 宽到长的错误输出行必须由唯一的键组合标识

问题描述

我正在尝试将长格式转换为宽格式。

  ID     Col1                    Index  Value   Date
  1333   Lateral_mm               0     5.1     1998-04-19 
  1333   Lateral_mm               1     3.4     1998-04-19
  1333   ap_mm_axial              0     4.2     1998-04-19
  1333   ap_mm_axial              1     4.7     1998-04-19
  1333   Lateral_mm               0     NA      2001-12-31 
  1333   Lateral_mm               1     NA      2001-12-31
  1333   ap_mm_axial              0     NA      2001-12-31  
  1333   ap_mm_axial              1     NA      2001-12-31
  9876   central_star_six_mm      0     5.3     1996-09-18
  9876   central_star_six_mm      1     NA      1996-09-18
  9876   central_star_six_mm      2     NA      1996-09-18
  9876   central_star_six_mm      3     NA      1996-09-18

我期望的最终数据集是这样的

  ID     Lateral_mm  ap_mm_axial  central_star_six_mm  Date        Index 
  1333   5.1         4.2          NA                   1998-04-19  0
  1333   3.4         4.7          NA                   1998-04-19  1
  1333   NA          NA           NA                   2001-12-31  0
  1333   NA          NA           NA                   2001-12-31  1
  9876   NA          NA           5.3                  1996-09-18  0
  9876   NA          NA           NA                   1996-09-18  1
  9876   NA          NA           NA                   1996-09-18  2
  9876   NA          NA           NA                   1996-09-18  3

我试过 spread(Col1, value)了,但后来我看到像Each row of output must be identified by a unique combination of keys. Keys are shared for 541 rows. 我没想到。任何建议都非常感谢。谢谢!

标签: rdplyrreshapetidyrmelt

解决方案


推荐阅读