数据转换(集?)
问题描述:
我有以下tibble:数据转换(集?)
~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,
...
有谁知道如何得到它?我认为它可以使用“聚()”来完成的,但我没有设法得到它的工作:
newTable <- oldTable %>% gather(a, b, value='cases')
答
使用?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)
谢谢,这很好。但是,我有没有可能将其他栏目c和d保留在新的tibble中 - 而不会改变它们? –
编辑我的回复。 – Phil