2016-10-28 5 views
0

私はこの形状を有するデータフレームを持つR.でこのデータフレームを変換するためにトラブルを抱えている:Dataframeをグループから列に変換するにはどうすればよいですか?

|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

( 'reshape2'または' data.table'中で) 'dcast'は – Batanichek

+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 
関連する問題