[問題] 二維的資料如何轉換回一維

作者: chy0253350 (chy)   2017-04-20 00:37:38
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[問題敘述]:
我有一筆資料大致上是這樣的格式:
Time Class rank1 rank2 rank3
2017/4/6 XXXX A1 B1 D1
2017/4/7 YYYY A2 C2 B2
2017/4/7 XXXX A1 C1 E1
2017/4/7 YYYY B2 A2 C2
A1, B1, C1, A2, C2....都是人名,分別為XXXX和YYYY班的學生。
所以第一筆資料就是4/6號,XXXX班的學生,第一名是A1、第二名是B1,最後是D1。
但是這樣的資料無法製作折線圖觀察學生們在這兩天的排名進退步狀況,
實際資料的時間會橫跨兩周,班級、人名和排名也都較多。
所以,會希望資料能轉換成:
Time Class student rank
2017/4/6 XXXX A1 1
2017/4/6 XXXX B1 2
2017/4/6 XXXX D1 3
2017/4/6 YYYY A2 1
2017/4/6 YYYY B2 3
2017/4/6 YYYY C2 2
2017/4/7 XXXX A1 1
2017/4/7 XXXX C1 2
2017/4/7 XXXX E1 3
2017/4/7 YYYY A2 2
2017/4/7 YYYY B2 1
2017/4/7 YYYY C2 3
如此資料才可以繪製摺線圖吧?
過去有用過dplyr進行篩選或比對等功能,
不過現在這種格式就不知道該怎麼用了...
==============================================================
透過reshape2的melt順利轉換成長表格了,
那麼我能否再轉換成:
student 2017/4/6 2017/4/7
A1 1 1
B1 2
C1 2
D1 3
E1 3
A2 1 2
B2 3 1
C2 2 3
我記得應該很容易阿,可是怎麼覺得自己變好笨..
作者: andrew43 (討厭有好心推文後刪文者)   2017-04-20 00:55:00
Google R wide table to long table之後再字串處理一下就可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com