2016-10-28 7 views
0

У меня возникают проблемы, чтобы преобразовать этот кадр данных в R. У меня есть dataframe, который имеет такую ​​форму:Как преобразовать 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

см 'dcast' (в' reshape2' или 'data.table') – 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