Simulate a from a Poisson process
Arguments
- n
Number of time points to simulate in the Poisson process
- lambda
Rate of Poisson process
- gamma
Asymmetry rate of Poisson process. When gamma=1.0, this simulates a homogenous Poisson process. When gamma<1.0, the Poisson process has more events early, when gamma > 1.0, the Poisson process has more events late in the process.
When gamma is non-zero, the tmax should not be infinite but indicate the end of the Poisson process to be simulated. In most pharamcometric cases, this will be the end of the study. Internally this uses a rate of:
l(t) = lambdagamma(t/tmax)^(gamma-1)
- prob
When specified, this is a probability function with one argument, time, that gives the probability that a Poisson time t is accepted as a rejection time.
- t0
the starting time of the Poisson process
- tmax
the maximum time of the Poisson process
- randomOrder
when
TRUErandomize the order of the Poisson events. By default (FALSE) it returns the Poisson process is in order of how the events occurred.
Value
This returns a vector of the Poisson process times; If the dropout is >= tmax, then all the rest of the times are = tmax to indicate the dropout is equal to or after tmax.
See also
Other Variability and uncertainty:
confint.rxSolve(),
cvPost(),
dfWishart(),
rinvchisq(),
rxEtaDistExpand(),
rxEtaDistMuRef(),
rxRmvn(),
rxRmvt(),
rxSimThetaOmega(),
rxUiEtaDistAnchors(),
rxUiEtaDists(),
swapMatListWithCube()
Examples
## Sample homogenous Poisson process of rate 1/10
rxPp(10, 1 / 10)
#> [1] 6.077768 22.665782 23.617748 23.713796 28.247910 51.302167 73.913293
#> [8] 76.775997 79.789859 79.927935
## Sample inhomogenous Poisson rate of 1/10
rxPp(10, 1 / 10, gamma = 2, tmax = 100)
#> [1] 23.13272 38.67615 55.22575 56.08766 76.99928 79.80645 80.83790
#> [8] 100.00000 100.00000 100.00000
## Typically the Poisson process times are in a sequential order,
## using randomOrder gives the Poisson process in random order
rxPp(10, 1 / 10, gamma = 2, tmax = 10, randomOrder = TRUE)
#> [1] 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000 10.000000
#> [8] 8.355783 6.073167 10.000000
## This uses an arbitrary function to sample a non-homogenous Poisson process
rxPp(10, 1 / 10, prob = function(x) {
1/(1+abs(x))
})
#> [1] 3.894435 42.205721 194.470466 334.969363 437.481336 496.269052
#> [7] 505.971079 665.989759 834.522203 1062.614359
