【问题标题】:How to transpose/reshape in R keeping the unique values of one column?如何在 R 中转置/重塑保持一列的唯一值?
【发布时间】:2016-08-07 11:35:54
【问题描述】:

我的 DF 如下:

'data.frame':   6082 obs. of  3 variables:
 $ ID  : int  23418 23499 24468 24492 24574 24772 25020 25070 25299 25564 ...
 $ Week: Factor w/ 12 levels "77-83 DIM","84-90 DIM","91-97 DIM",....
 $ kg  : num  55.4 56.1 54.9 48 52.8 ...

这是一个例子:

ID        Week       kg
1 23418 105-111 DIM 55.43655
2 23499 105-111 DIM 56.11586
3 24468 105-111 DIM 54.85228
4 24492 105-111 DIM 47.96415
5 24574 105-111 DIM 52.80463
6 24772 105-111 DIM 49.99884

还有一张图片。

我有 610 个不同的 ID 号,最多重复 12 次(周)。但并非所有身份证号码都有 12 周。 我需要一个 13 列的 DF:ID、77-83 DIM、84-90 DIM、91-97 DIM ... 这意味着每周一列和一列 ID。 表格的内容必须填写 Kg 值。

如果我不够清楚,我很抱歉。 有人可以帮我吗? 谢谢

【问题讨论】:

标签: r reshape transpose


【解决方案1】:

您也可以使用data.table 包来执行此操作。

假设:df 是 data.frame

首先,您必须通过以下方式将 data.frame 转换为 data.table:

> dt <- setDT(df)

之后,您可以应用此命令来获得所需的输出:

> dcast(dt,ID~Week,value.var='kg')

【讨论】:

  • 效果很好!你在 3 秒内解决了我的三天问题。谢谢!!!!!!!!!!!!!
猜你喜欢
  • 2021-03-12
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2016-12-23
  • 1970-01-01
  • 2014-01-06
相关资源
最近更新 更多