如何将宽格式转换为长格式数据?

时间:2019-05-25 07:11:59

标签: r tidyr reshape2

我有一个数据框(df),我想将其转换为长格式数据:

head(df)
Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov  Dec Year   stn
X1   30    40 153.2 316.2 526.6   410   511 407.4 308.5 181.7    80 15.5 1986 stn1
X2    0    32   117   175 258.3 712.6 695.9 656.9 330.2    74    92   40 1987 stn1
X3   60    77   125 149.4   713   455 500.5 444.8 260.2 157.6  72.3  5.4 1986 stn2
X4 36.2 102.1 163.8   125 251.5 857.3 921.1 557.2 490.3 119.3  65.3   47 1987 stn2
X5 78.6  68.7 132.2 382.3 205.9 680.7 607.2 312.7 378.8    53    63   53 1986 stn3
X6   67  76.5  73.5   241 429.5   591 739.5   646 466.5   239 108.5   63 1987 stn3

我已尝试将以下内容转换为长格式:

library(tidyr)
library(reshape2)

Long_df <- gather(df,Month, Rainfall, -stn, -Year)

但是上面的代码并没有产生我真正想要的。

我希望我的数据显示如下:

Year    Month    stn1    stn2    stn3
1986    Jan       10      12      14
1986    Feb       12      14      19
….
1986    Dec       13      23      12

1987    Jan       13      14      14
….
1987    Dec       15      16      17  

您的帮助将不胜感激

0 个答案:

没有答案