【问题标题】:Modify date structure [duplicate]修改日期结构[重复]
【发布时间】:2017-12-10 02:29:39
【问题描述】:

我想更改年月日结构的日部分。例如,从 1990-01-03 到 1990-01-01。下面的代码正确吗?

d<-as.POSIXlt("1990-01-03")
d$mday<-1

wday 和 yday 没有变化,所以结果有些不一致。我仅将结果用于转换为字符串。我知道的其他日期表示(Date, POSIXct) 对此任务不方便。

【问题讨论】:

  • lubridate::day(d) &lt;- 1
  • 手动操作POSIXlt 对象是个坏主意。见this

标签: r date


【解决方案1】:

使用 lubridate 包解析日期,然后减去天数

library(lubridate)

a=ymd("1990-01-03")

来自How to subtract days in R?

a-2

day(a)=1

【讨论】:

  • 这里不需要lubridate。他们可以在这里使用as.Date 做所有事情。如果这是一个骗局 - 它应该被关闭而不是添加答案。
猜你喜欢
  • 2018-10-29
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
相关资源
最近更新 更多