prob <- 0.75; y <- rposgeom(n = 1000, prob)
table(y)
mean(y) # Sample mean
1 / prob # Population mean
(ii <- dposgeom(0:7, prob))
cumsum(ii) - pposgeom(0:7, prob) # Should be 0s
table(rposgeom(100, prob))
table(qposgeom(runif(1000), prob))
round(dposgeom(1:10, prob) * 1000) # Should be similar
if (FALSE) {
x <- 0:5
barplot(rbind(dposgeom(x, prob), dgeom(x, prob)),
beside = TRUE, col = c("blue", "orange"),
main = paste("Positive geometric(", prob, ") (blue) vs",
" geometric(", prob, ") (orange)", sep = ""),
names.arg = as.character(x), las = 1, lwd = 2) }
Run the code above in your browser using DataLab