如果满足条件,则更改日期列

我有一个很大的数据集,其中包含来自图像的元数据。对于某些相机,日期设置有误,我正在尝试更正。似乎很简单,但是我不弄清楚该数据集怎么办。下面的代码本质上显示了我要尝试执行的操作,但是,我想在不创建子集的情况下调整完整数据帧内的值。

library(lubridate)
data <- data.frame(camera= c("1", "1", "2", "2"),
                   date = c("2000-1-02 01:02:03", "2000-1-02 01:02:03","2000-2-02 01:02:03","2000-2-02 01:02:03"))

data$date <- as.POSIXct(data$date)

camera1 <- subset(data, camera== "1")

camera1$date <- camera1$date - months(1)

我尝试使用dplyr软件包和'if'函数使其正常工作,但是POSIXct格式似乎使事情变得更加复杂。最好我会同时对多个摄像机进行相同的时间调整。