# NOT RUN {
# Convert existing "proper" pdqr-function
set.seed(101)
x <- rnorm(10)
my_d <- new_d(x, "continuous")
my_p <- as_p(my_d)
# Convert "honored" function to be a proper pdqr-function. To use this
# option, supply originally named function.
p_unif <- as_p(punif)
r_beta <- as_r(rbeta, shape1 = 2, shape2 = 2)
d_pois <- as_d(dpois, lambda = 5)
# `pdqr_approx_error()` computes pdqr approximation error
summary(pdqr_approx_error(as_d(dnorm), dnorm))
# This will work as if input is unkonw function because of unsupported
# variable name
my_runif <- function(n) {runif(n)}
r_unif_2 <- as_r(my_runif)
plot(as_d(r_unif_2))
# Convert some other function to be a "proper" pdqr-function
my_d_quadr <- as_d(function(x) {0.75*(1 - x^2)}, support = c(-1, 1))
# Support detection
unknown <- function(x) {dnorm(x, mean = 1)}
# Completely automatic support detection
as_d(unknown)
# Semi-automatic support detection
as_d(unknown, support = c(-4, NA))
as_d(unknown, support = c(NA, 5))
# If support is very small and very distant from zero, it probably won't
# get detected in `as_d()` (throwing a relevant error)
# }
# NOT RUN {
as_d(function(x) {dnorm(x, mean = 10000, sd = 0.1)})
# }
# NOT RUN {
# Using different level of granularity
as_d(unknown, n_grid = 1001)
# }
Run the code above in your browser using DataLab