【发布时间】:2020-08-01 10:00:49
【问题描述】:
我想将 R 中 Date 对象中的不同日期替换为所有对象的同一天。
举个例子吧。
date = structure(c(10961, 10990, 11018, 11046, 11060, 11088, 11116,
11144, 11214, 11235, 11249, 11263, 11305, 11354, 11382, 11423,
11452, 11480, 11494, 11508), class = "Date")
[1] "2000-01-05" "2000-02-03" "2000-03-02" "2000-03-30" "2000-04-13" "2000-05-11" "2000-06-08"
[8] "2000-07-06" "2000-09-14" "2000-10-05" "2000-10-19" "2000-11-02" "2000-12-14" "2001-02-01"
[15] "2001-03-01" "2001-04-11" "2001-05-10" "2001-06-07" "2001-06-21" "2001-07-05"
我想得到:
[1] "2000-01-05" "2000-02-05" "2000-03-05" "2000-03-05" "2000-04-05" "2000-05-05" "2000-06-05"
[8] "2000-07-05" "2000-09-05" "2000-10-05" "2000-10-05" "2000-11-05" "2000-12-05" "2001-02-05"
[15] "2001-03-05" "2001-04-05" "2001-05-05" "2001-06-05" "2001-06-05" "2001-07-05"
我做的是:
sub("%d", "05", date, perl = TRUE)
但是,它不起作用。我认为错误在pattern 中,我不知道如何把握这一天。
谁能帮帮我?
谢谢!
【问题讨论】:
-
最简单的
lubridate::day(date) <- 5? -
@RuiBarradas 谢谢!我尝试了 day() 但找不到函数
-
day是包lubridate中的一个函数。您需要在系统中安装该软件包。 -
Change day of the month in a Date to first day (01)。所有答案(
cut除外)都可以根据您的情况轻松修改。