Преобразование числа в дату и сопоставление с другим фреймом данных - PullRequest
0 голосов
/ 24 апреля 2018

Возникла проблема с преобразованием Date фрейма данных в формат даты.Я также попытался использовать это DF$Date <- as.Date(DF$Date, "%Y%M"), но получил ошибку.Может ли кто-нибудь помочь мне в решении этого.

DF
        Date    Price   Stock       
    1   201102  339.32  AAPL
    2   201103  353.21  AAPL
    3   201104  348.45  AAPL
    4   201105  348.23  AAPL
    5   201106  347.83  AAPL
    6   201107  335.67  AAPL
    7   201108  390.48  AAPL
    8   201109  384.83  AAPL

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Вы можете использовать zoo::as.yearmon:

library(zoo);
df %>%
    mutate(Date = as.yearmon(as.character(Date), "%Y%m"))
#      Date  Price Stock
#1 Feb 2011 339.32  AAPL
#2 Mar 2011 353.21  AAPL
#3 Apr 2011 348.45  AAPL
#4 May 2011 348.23  AAPL
#5 Jun 2011 347.83  AAPL
#6 Jul 2011 335.67  AAPL
#7 Aug 2011 390.48  AAPL
#8 Sep 2011 384.83  AAPL

Пример данных

df <- read.table(text =
    "        Date    Price   Stock
    1   201102  339.32  AAPL
    2   201103  353.21  AAPL
    3   201104  348.45  AAPL
    4   201105  348.23  AAPL
    5   201106  347.83  AAPL
    6   201107  335.67  AAPL
    7   201108  390.48  AAPL
    8   201109  384.83  AAPL", header = T)
0 голосов
/ 24 апреля 2018

Если каждая дата соответствует первому из определенного месяца, который вы можете использовать:

DF$Date <- lubridate::ymd(paste0(DF$Date, "01"))
...