首页 > 解决方案 > 将数值转换为日期并与其他数据框匹配

问题描述

我面临将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

标签: rdataframelubridate

解决方案


您可以使用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)

推荐阅读