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