2017-09-27 67 views
-1

我相信新的R和I有一個數據表(DF),如以下:如何轉換數據表?

id month year count 
___ _____ ____ ______ 
1  1  2017  12 
1  2  2017  10 
1  3  2017  13 
2  1  2017  9 
2  2  2017  18 
2  3  2017  13 
3  1  2017  12 
3  2  2017  10 
3  3  2017  10 

從這個我想數據幀重塑從長到寬,其中示出下面類似

格式
id  1  2  3 
___  __ ___ ___ 
1  12  10  13 
2  9  18  13 
3  12  10  10 

我試圖熔體(DF),但拋出error.Any幫助是apprecited。

+1

'重塑(DF,idvar = 「ID」,timevar = 「月」,方向= 「寬」)' –

回答

2

您可以使用包中的spread,該包是tidyverse的一部分。

library(tidyverse) 
df <- read_table("id month year count 
1  1  2017  12 
1  2  2017  10 
1  3  2017  13 
2  1  2017  9 
2  2  2017  18 
2  3  2017  13 
3  1  2017  12 
3  2  2017  10 
3  3  2017  10") 

df %>% spread(month, count) 
#> # A tibble: 3 x 5 
#>  id year `1` `2` `3` 
#> * <int> <int> <int> <int> <int> 
#> 1  1 2017 12 10 13 
#> 2  2 2017  9 18 13 
#> 3  3 2017 12 10 10