重塑时间序列中的行组织数据

时间:2019-05-14 23:26:35

标签: r tidyverse tidyr

我正在按以下方式组织时间序列小标题:

Country<- ('Somalia')
'1961'<- 2999
'1962'<- 2917
'1963'<- 1853
df <- data.frame(Country, `1961`, `1962`, `1963`)
df

问题在于,以这种方式组织的数据极难工作,因为访问我想要的数据(列名下的那些数字)的唯一方法是单独引用每年。 是否有一种简单的方法来整理它们,例如:

x <- 'Somalia'
y <- c('1961', '1962', '1963')
z <- c(2999, 2917, 1853)
df <- data.frame(x, y, z)
df

无需手动重建整个数据集吗?

1 个答案:

答案 0 :(得分:0)

> library(tidyverse)
> df %>% 
    gather(Year, Value, -Country)
  Country Year Value
1 Somalia 1961  2999
2 Somalia 1962  2917
3 Somalia 1963  1853

df

df <- data.frame(Country = "Somalia", 
             `1961` = 2999,
             `1962` = 2917,
             `1963` = 1853,
             check.names = FALSE)