【发布时间】:2019-11-18 06:26:19
【问题描述】:
我正在使用 R 尝试将我的数据框从“long-ish”转换为“wide-ish”,但我徒劳地寻找使用与我的结构相似的数据的答案。这是我的数据:
| ID | NAME | V1 | V2 | V3 |
|------|------|-------|----:|-----:|
| 1001 | Bob | Red | 302 | 0.50 |
| 1001 | Bob | Blue | 737 | 0.50 |
| 1002 | Jim | Red | 432 | 0.14 |
| 1002 | Jim | Blue | 643 | 0.60 |
| 1002 | Jim | Green | 34 | 0.46 |
| 1006 | Dan | Red | 876 | 1.25 |
这就是我希望最终数据(宽)的样子:
| ID | NAME | V2.Red | V2.Blue | V2.Green | V3.Red | V3.Blue | V3.Green |
|------|------|-------:|--------:|---------:|-------:|--------:|---------:|
| 1001 | Bob | 302 | 737 | N/A | 0.50 | 0.50 | N/A |
| 1002 | Jim | 432 | 643 | 34 | 0.14 | 0.60 | 0.46 |
| 1006 | Dan | 876 | N/A | N/A | 1.25 | N/A | N/A |
因此,基本上,我将所有相同的 ID 行合并为一行(附带 NAME),以便总行数等于唯一 ID 值的数量。
然后,我使用 V1 的唯一值创建与 V1 中唯一值乘以“额外变量”--V2、V3 的数量一样多的列。 (我还有很多 V2 和 V3 类型的变量。
提前致谢!
【问题讨论】: