R重新排列数据帧尺寸

R重新排列数据帧尺寸,r,R,我目前有类似的数据帧: Year CH US EU 1990 10 15 12 2000 13 18 15 2010 20 22 19 2020 26 27 22 我需要一个代码来重新排列数据帧尺寸,以获得: Year Region Value 1990 CH 10 1990 US 15 1990 EU 12 2000 CH 13 2000 US 18

我目前有类似的数据帧:

Year   CH   US   EU
1990   10   15   12
2000   13   18   15
2010   20   22   19
2020   26   27   22
我需要一个代码来重新排列数据帧尺寸,以获得:

Year  Region  Value
1990    CH      10
1990    US      15
1990    EU      12
2000    CH      13
2000    US      18
2000    EU      15
2010    CH      20
2010    US      22
2010    EU      19
2020    CH      26
2020    US      27
2020    EU      22

和另一个代码来执行此操作,反之亦然

您可以从
tidyr
使用
pivot\u更长的时间

library(tidyr)

df
#>   Year CH US EU
#> 1 1990 10 15 12
#> 2 2000 13 18 15
#> 3 2010 20 22 19
#> 4 2020 26 27 22

df2 <- pivot_longer(df, 2:4, names_to = "Region")
df2
#> # A tibble: 12 x 3
#>     Year Region value
#>    <int> <chr>  <int>
#>  1  1990 CH        10
#>  2  1990 US        15
#>  3  1990 EU        12
#>  4  2000 CH        13
#>  5  2000 US        18
#>  6  2000 EU        15
#>  7  2010 CH        20
#>  8  2010 US        22
#>  9  2010 EU        19
#> 10  2020 CH        26
#> 11  2020 US        27
#> 12  2020 EU        22

您可以从
tidyr
再使用
pivot\u

library(tidyr)

df
#>   Year CH US EU
#> 1 1990 10 15 12
#> 2 2000 13 18 15
#> 3 2010 20 22 19
#> 4 2020 26 27 22

df2 <- pivot_longer(df, 2:4, names_to = "Region")
df2
#> # A tibble: 12 x 3
#>     Year Region value
#>    <int> <chr>  <int>
#>  1  1990 CH        10
#>  2  1990 US        15
#>  3  1990 EU        12
#>  4  2000 CH        13
#>  5  2000 US        18
#>  6  2000 EU        15
#>  7  2010 CH        20
#>  8  2010 US        22
#>  9  2010 EU        19
#> 10  2020 CH        26
#> 11  2020 US        27
#> 12  2020 EU        22