【问题标题】:add a date to the dataframe [duplicate]向数据框添加日期[重复]
【发布时间】:2015-04-23 14:59:34
【问题描述】:

数据框为:

head(HSC)

       Date    Y1      M1  Location Year Quarter Month
2010-01-04   0.115   0.245 Chicago 2010      Q1    01
2010-01-05   0.111   0.210 Chicago 2010      Q1    01
2010-01-06   0.113   0.185 Chicago 2010      Q1    01

然后我得到 Y1 和 M1 的月平均值

HSCnew<-aggregate(cbind(Y1,M1)~Month+Year,data=HSC,mean)

Month Year     Y1       M1
  01 2010 -0.11935294 -0.04017647
  02 2010 -0.09776471 -0.05600000
  03 2010 -0.06785714  0.01271429
  04 2010 -0.07315789 -0.02457895

月份和年份都是字符。有没有办法在右边添加日期,比如 date=01-01-2010

【问题讨论】:

  • 您已将其汇总到一个月级别 - 您的新日期如何具有日期值 - 只有月份和年份是可能的,对吧?在结果的第一行中,数据汇总为 2010 年 1 月,日期无关紧要。
  • 那么我怎样才能在 HSCnew 中添加一列,这样 date= 01/01/2010...01/02/2010?

标签: r date aggregate average


【解决方案1】:

您可以将 Date 列添加为 Date 类型:

HSCnew$Date <- as.Date(paste(HSCnew$Year, HSCnew$Month, '01', sep='/'))

或者只是

HSCnew$Date <- paste('01', HSCnew$Month, HSCnew$Year, sep='-')

如果你想要一个 dd-mm-yyyy 格式的字符串。

【讨论】:

    【解决方案2】:

    我不知道月份中的哪一天是相关的,但您可以这样做:

    date <- paste(Year, Month, sep = "-")
    
    require(zoo)
    as.yearmon(date)
    [1] "Jan 2010"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 2016-12-19
      • 2023-03-14
      • 2021-10-20
      • 2018-09-06
      • 2018-05-01
      • 2013-04-29
      相关资源
      最近更新 更多