我想重写数据中的年份,使from
由year
列中的年份和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.table
中from
的月份和日期组合起来(您似乎已经在使用(
符号%m
代表两位数字的月份,符号%d
代表两位数据的日期。
example[, from := format(from, paste0(year,"-%m-%d"))]
example
year from
1: 2016 2016-01-28
2: 2017 2017-01-28
我们可以使用lubridate
year
来分配
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