Создание данных временного ряда - PullRequest
0 голосов
/ 29 мая 2019

У меня есть блок данных наблюдений временного ряда, как показано ниже

Ответы [ 2 ]

1 голос
/ 29 мая 2019

В качестве варианта можно указать gather данные в длинном формате и unite столбец «Год / Месяц» с ключом для создания «Периода»

library(tidyverse)
library(zoo)
gather(df1, key, val, -`Year/Month`) %>% 
     unite(Period, key, `Year/Month`, sep="-") %>% 
     mutate(Period = as.yearmon(Period, '%b-%Y')) %>%
     arrange(Period)
#    Period val
#1 Apr 2012 201
#2 May 2012 203
#3 Jun 2012 208
#4 Apr 2013 220
#5 May 2013 221
#6 Jun 2013 222

данных * 1006.* df1 <- structure(list(`Year/Month` = 2012:2013, APR = c(201L, 220L), MAY = c(203L, 221L), JUN = c(208L, 222L)), class = "data.frame", row.names = c(NA, -2L))

0 голосов
/ 29 мая 2019

Вы можете сделать:

row.names(df) = df[,1]
with(data.frame(as.table(as.matrix(df[,-1]))),
         data.frame('Year-Month' = paste(Var1,Var2,sep='-'),Value=Freq))

или вы также можете сделать:

with(cbind(year=df[,1],stack(df[,-1])),
      data.frame(year=paste(year,ind,sep='-'),val=values)[order(year),])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...