数据转换(收集?)

2023-12-24

我有以下内容:

~id, ~a, ~b, ~c, ~d,
1, 10, 20, 33, 42,
2, 30, 20, 32, 42,
3, 34, 24, 35, 32,
4, 32, 24, 35, 25,
5, 22, 14, 35, 36,
...
)

但我宁愿以这种形式(只有列“a”和“b”)

~id, ~aOrB, ~value
1, a, 10,
1, b, 20,
2, a, 30,
2, b, 20,
3, a, 34,
3, b, 24,
...

有谁知道如何获得它?我认为可以使用“gather()”来完成,但我没有设法让它工作:

newTable <- oldTable %>% gather(a, b, value='cases')

Use ?gather阅读有关如何使用的更多信息gather功能。

library(dplyr)
library(tidyr)

oldTable %>% select(-c, -d) %>% gather(key = aOrB, value = value, -id)

编辑:如果你想保留c and d,但未堆叠:

    oldTable %>% gather(key = aOrB, value = value, -id, -c, -d)

如果你想保留c and d,并与一起堆叠在一起a and b:

    oldTable %>% gather(key = aOrBOrCOrd, value = value, -id)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据转换(收集?) 的相关文章

随机推荐