Как выбрать каждый следующий месяц данных в R - PullRequest
0 голосов
/ 01 мая 2018

У меня есть месячный набор данных, но не каждый месяц имеет подходящие данные для работы. Есть список правильных месяцев, которые я хочу выбрать. Я хочу выбрать цену следующего месяца для каждого из этих правильных месяцев.

Например, это мой набор данных:

Price <- c(10,12,14,11,17,10,9,18,16,16 , 12, 13)
date <- ymd(c("1996-01-31", "1996-02-28", "1996-07-31", "1996-08-29" ,"1996-04-30" , "1996-05-28" , "1997-01-28" , "1996-09-29" , "1996-12-19", "1996-03-30" ,"1996-11-30","1996-06-30"))

Prices <- data.frame( date , Price)

и это правильные месяцы на выбор:

proper <- ymd(c("1996-01-31", "1996-07-31" ,"1996-04-30" ,"1996-02-29" ,"1996-05-31"))

Теперь я хочу, чтобы цена следующего месяца составила proper во фрейме данных. например цены "1996-02-28" в качестве первого элемента, "1996-08-29" в качестве второго элемента и т. д.

1 Ответ

0 голосов
/ 01 мая 2018

Мы можем преобразовать его в yearmon, а затем сделать filter

library(zoo)
library(dplyr)
Prices %>% 
   filter(as.Date(as.yearmon(date)) %in% as.Date(as.yearmon(proper) + 1/12))
#        date Price
#1 1996-02-28    12
#2 1996-08-29    11
#3 1996-05-28    10
#4 1996-03-30    16
#5 1996-06-30    13
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...