2015-09-30 2 views
0

У меня есть df, как показано ниже.Как изменить размер строки на размер столбца в R?

 Year Month Cont 

1  2011  Apr 1376 

2  2012  Apr 1232 

3  2013  Apr 1360 

4  2014  Apr 1294 

5  2015  Apr 1344 

6  2011  Aug 1933 

7  2012  Aug 1930 

8  2013  Aug 1821 

9  2014  Aug 1845 

10 2015  Aug 1855 

Так что мой вопрос в том, как я могу переключать строки в столбце «Месяц». Результат должен выглядеть следующим образом.

Cont Apr Aug 
1 2011 1376 1933 

2 2012 1232 1930 

3 2013 1360 1821 

4 2014 1294 1845 

5 2015 1344 1855 

ответ

1

Вы можете использовать reshape2:

library(reshape2) 
dcast(df, Year~Month, value.var="Cont") 

Или tidyr:

library(tidyr) 
spread(df, Month, Cont) 
0

Пожалуйста, обратитесь следующий код

> dat <- read.table("data.txt", quote="\"", comment.char="") 
> dat 
    V1 V2 V3 
1 2011 Apr 1376 
2 2012 Apr 1232 
3 2013 Apr 1360 
4 2014 Apr 1294 
5 2015 Apr 1344 
6 2011 Aug 1933 
7 2012 Aug 1930 
8 2013 Aug 1821 
9 2014 Aug 1845 
10 2015 Aug 1855 
> library(reshape2) 
> dcast(dat, V1~V2) 
Using V3 as value column: use value.var to override. 
    V1 Apr Aug 
1 2011 1376 1933 
2 2012 1232 1930 
3 2013 1360 1821 
4 2014 1294 1845 
5 2015 1344 1855 
Смежные вопросы