向 POSIXct 变量添加随机噪声
Add random noise to POSIXct variable
我正在对泊松点过程建模,我数据中的时间采用 POSIXct
形式,并且仅精确到秒。因此,有些时候是相同的。我想为这些时间添加一些噪音,希望它们可以有所不同。 R 中是否有任何包或函数允许我这样做?
正如 Rui 指出的那样,这主要是格式问题。我认为最简单的方法是在使用 POSIXct
时允许打印几分之一秒 - 您可以使用:
options(digits.secs = 3)
所以现在如果我有一个时间向量:
times <- as.POSIXct(c("2020-07-11 13:06:01", "2020-07-11 13:06:01"))
times
#> [1] "2020-07-11 13:06:01 GMT" "2020-07-11 13:06:01 GMT"
我可以使用 lubridate 包很容易地添加几分之一秒:
library(lubridate)
times + seconds(runif(2))
#> [1] "2020-07-11 13:06:01.494 GMT" "2020-07-11 13:06:01.470 GMT"
在您的情况下,您可能想要添加 seconds(runif(length(times), -0.5, 0.5))
以使您的时间随机化到最接近的秒数。
我正在对泊松点过程建模,我数据中的时间采用 POSIXct
形式,并且仅精确到秒。因此,有些时候是相同的。我想为这些时间添加一些噪音,希望它们可以有所不同。 R 中是否有任何包或函数允许我这样做?
正如 Rui 指出的那样,这主要是格式问题。我认为最简单的方法是在使用 POSIXct
时允许打印几分之一秒 - 您可以使用:
options(digits.secs = 3)
所以现在如果我有一个时间向量:
times <- as.POSIXct(c("2020-07-11 13:06:01", "2020-07-11 13:06:01"))
times
#> [1] "2020-07-11 13:06:01 GMT" "2020-07-11 13:06:01 GMT"
我可以使用 lubridate 包很容易地添加几分之一秒:
library(lubridate)
times + seconds(runif(2))
#> [1] "2020-07-11 13:06:01.494 GMT" "2020-07-11 13:06:01.470 GMT"
在您的情况下,您可能想要添加 seconds(runif(length(times), -0.5, 0.5))
以使您的时间随机化到最接近的秒数。