我在R中转换此数据框时遇到问题。我有一个具有此形状的数据框:
|University |created | N|
|:-------------------------------------|:-------|--:|
|BL.CARDIFF - Cardiff University |2016 | 1|
|BL.STRATH - University of Strathclyde |2015 | 1|
|CDL.UNAVCO - UNAVCO |2016 | 2|
|TIB.TIB - TIB Hannover |2011 | 3|
|TIB.TIB - TIB Hannover |2012 | 10|
|TIB.TIB - TIB Hannover |2013 | 3|
我想将其转换为:
|University |2014 | 2015| 2016|
|:-------------------------------------|:----|-----|----:|
|BL.CARDIFF - Cardiff University |1 | 2 | 1 |
|BL.STRATH - University of Strathclyde |2 | 1 | 2 |
|TIB.TIB - TIB Hannover |2 | 10 | 1 |
有什么想法吗?感谢
答案 0 :(得分:2)
试试这个:
df <- data.frame(University = c('BL.CARDIFF - Cardiff University',
'BL.STRATH - University of Strathclyde',
'CDL.UNAVCO - UNAVCO',
'TIB.TIB - TIB Hannover',
'TIB.TIB - TIB Hannover',
'TIB.TIB - TIB Hannover'), created=c(2016,2015,2016,2011,2012,2013),
N=c(1,1,2,3,10,3))
library(reshape2)
dcast(df, University~created, value.var = 'N')
University 2011 2012 2013 2015 2016
1 BL.CARDIFF - Cardiff University NA NA NA NA 1
2 BL.STRATH - University of Strathclyde NA NA NA 1 NA
3 CDL.UNAVCO - UNAVCO NA NA NA NA 2
4 TIB.TIB - TIB Hannover 3 10 3 NA NA