【问题标题】:Reformat Excel numeric date to R date将 Excel 数字日期重新格式化为 R 日期
【发布时间】:2018-07-31 07:29:41
【问题描述】:

希望将从 Excel 中提取的列重新格式化为包含数字 Excel 格式(例如 40182)的数据框。

as.date(40182, origin = "1899-12-30", format = '%b-%Y')

返回:

[1] 2070 年 1 月 5 日

我正在寻找更多关于 1 月 14 日(短月,短年)的信息。

作为 R 的新手,我无法确定这是什么原因。切换原始日期似乎也没有改变任何东西。有什么帮助吗?

【问题讨论】:

  • as.Date(40182 - 25569, origin = "1970-01-01")?
  • > as.date(40182 - 25569, origin = "1970-01-01", format = '%b-%y') [1] 2000 年 1 月 4 日
  • 这是您的代码的输出。 2 件事:1)这是一列日期,所以我希望这个变化反映在整体上 & 2)41640(列中的第一个数字)的预期输出应该是 2014 年 1 月。当我输入到as.date,它返回 2Jan2074
  • format(as.Date.numeric(40182,"1904-01-01"),"%b-%y")format(as.Date(40182,"1904-01-01"),"%b-%y")

标签: r excel date


【解决方案1】:

在 Excel 中,数字 40182 在格式化为日期时给出日期 04-01-2010。 所以我认为你正在寻找这个:

format(as.Date(40182, origin = "1899-12-30"), '%b-%Y')

给出:

[1] "Jan-2010"

希望对你有帮助!!!

【讨论】:

    【解决方案2】:
    ##simulated excel. I used an excel to tes tthe code though. 
    a<-seq(from = as.Date(Sys.Date()), to = seq(as.Date(Sys.Date()), 
    length.out = 12, by= "-1 years")[2], by = "-1 days")
    a<-as.numeric(a)
    a<-a+25569
    a<-as.Date(as.numeric(a[1:length(a)]), origin = as.Date("1970-01-01"))
    
    ##a is in One Year of dates like your excel list. 
    
    a<-as.numeric(a)
    a<-a-25569
    a<-as.Date(as.numeric(a[1:length(a)]), origin = as.Date("1970-01-01"))
    a<-format(a, "%b-%y")
    

    希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      相关资源
      最近更新 更多