我有以下几点:
~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')
答案 0 :(得分:1)
使用?gather
详细了解如何使用gather
功能。
library(dplyr)
library(tidyr)
oldTable %>% select(-c, -d) %>% gather(key = aOrB, value = value, -id)
编辑:如果您想保留c
和d
,但不要堆叠:
oldTable %>% gather(key = aOrB, value = value, -id, -c, -d)
如果您想保留c
和d
,并与a
和b
一起堆叠:
oldTable %>% gather(key = aOrBOrCOrd, value = value, -id)