2017-04-04 17 views
0

私は次のよう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, 
... 

誰でも入手方法を知っていますか?私はそれが「集まる()」を使用して行うことができると思うが、私はそれが働いて得るために管理didntは:

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

答えて

1

使用?gathergather機能を使用する方法の詳細を読むために。

library(dplyr) 
library(tidyr) 

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

EDIT:あなたはcdを維持したいが積み重ねられていない場合:

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

あなたはcdを維持したい場合は、とabと一緒に積み重ねられた:

oldTable %>% gather(key = aOrBOrCOrd, value = value, -id) 
+0

ありがとう、それはうまくいきます。しかし、私は他の列をcとdを新しいtibbleに保持する可能性があります - それらを変換せずに? –

+0

私の返答を編集しました。 – Phil

関連する問題