2
數據包含兩個變量:id和grade。每個檔案可以有多個記錄 。將數據幀整形爲寬幅
dat <- data.frame(id = c(1,1,1,2,2,2,2,3,3,4,5,5,5),
grade = c("a", "b", "c", "a", "a", "b", "b", "d", "f", "c", "a", "e", "f"))
我希望將數據重新塑造成一個寬的形狀,使得每個ID只有一個記錄 和每一個獨特的品位成爲一列。根據每個ID的等級,每列的值爲0或1, 。
最終的數據集的樣子:
id a b c d e f
1 1 1 1 0 0 0
2 1 1 0 0 0 0
3 0 0 0 1 0 1
4 0 0 1 0 0 0
5 1 0 0 0 1 1
我想這一點,但沒有運氣。
n.dat <- reshape(dat, timevar = "grade",idvar = c("id"),direction = "wide")
也許'+(table(dat)> 0)'? –
謝謝,@DavidArenburg。 – user9292