在R中更改日期的年份

  • 本文关键字:日期 r date data.table
  • 更新时间 :
  • 英文 :


我想重写数据中的年份,使fromyear列中的年份和from列中的月份和日期的组合组成

example <- structure(list(year = 2016:2017, 
from = structure(c(16828L,16828L), 
class = c("IDate", "Date"))), 
row.names = c(NA, -2L), class = c("data.table","data.frame"))

我的数据集非常大,所以我正在寻找一种有效的方法来做到这一点。

使用format(),将year的年份与data.tablefrom的月份和日期组合起来(您似乎已经在使用(
符号%m代表两位数字的月份,符号%d代表两位数据的日期。

example[, from := format(from, paste0(year,"-%m-%d"))]
example
year       from
1: 2016 2016-01-28
2: 2017 2017-01-28

我们可以使用lubridateyear来分配

library(lubridate)
example$from <- as.Date(example$from)
year(example$from) <- example$year

-输出

> example
year       from
<int>     <Date>
1:  2016 2016-01-28
2:  2017 2017-01-28

最新更新