0

我有一个看起来像这样的数据框:

Date        ACO   AJM   ATI

1/1/2019    0.59  0.28  0.39
1/2/2019    0.35  0.36  0.45
1/3/2019    0.46  0.37  0.63

如何重新组织数据框,使其看起来像这样:

 Date        id_station   Value

 1/1/2019    ACO          0.59
 1/1/2019    AJM          0.28
 1/1/2019    ATI          0.39
 1/2/2019    ACO          0.35 
 1/2/2019    AJM          0.36
 1/2/2019    ATI          0.45
 1/3/2019    ACO          0.46
 1/3/2019    AJM          0.37
 1/3/2019    ATI          0.63

基本上,我想创建 2 个名为 id_station 和 Value 的列来重新组织我的数据框。

4

1 回答 1

1

这里可能是选项,使用data.table

library(data.table)

> melt(setDT(df), id.var = "Date")
       Date variable value
1: 1/1/2019      ACO  0.59
2: 1/2/2019      ACO  0.35
3: 1/3/2019      ACO  0.46
4: 1/1/2019      AJM  0.28
5: 1/2/2019      AJM  0.36
6: 1/3/2019      AJM  0.37
7: 1/1/2019      ATI  0.39
8: 1/2/2019      ATI  0.45
9: 1/3/2019      ATI  0.63

或者

> setDT(df)[, rev(stack(.SD)), Date]
       Date ind values
1: 1/1/2019 ACO   0.59
2: 1/1/2019 AJM   0.28
3: 1/1/2019 ATI   0.39
4: 1/2/2019 ACO   0.35
5: 1/2/2019 AJM   0.36
6: 1/2/2019 ATI   0.45
7: 1/3/2019 ACO   0.46
8: 1/3/2019 AJM   0.37
9: 1/3/2019 ATI   0.63
于 2021-07-12T22:26:20.637 回答