Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
library(pdqr)
set.seed(101)
## ----setup_data-frame-inputs--------------------------------------------------
# For type "discrete"
dis_df <- data.frame(x = 1:4, prob = 4:1 / 10)
# For type "continuous"
con_df <- data.frame(x = 1:4, y = c(0, 1, 1, 1))
## ----p-fun_sample-------------------------------------------------------------
# Treating input as discrete
p_mpg_dis <- new_p(mtcars$mpg, type = "discrete")
p_mpg_dis
# Treating input as continuous
p_mpg_con <- new_p(mtcars$mpg, type = "continuous")
p_mpg_con
# Outputs are actually vectorized functions
p_mpg_dis(15:20)
p_mpg_con(15:20)
# You can plot them directly using base `plot()` and `lines()`
plot(p_mpg_con, main = "P-functions from sample")
lines(p_mpg_dis, col = "blue")
## ----p-fun_data-frame---------------------------------------------------------
p_df_dis <- new_p(dis_df, type = "discrete")
p_df_dis
p_df_con <- new_p(con_df, type = "continuous")
p_df_con
plot(p_df_con, main = "P-functions from data frame")
lines(p_df_dis, col = "blue")
## ----d-fun_sample-------------------------------------------------------------
# Treating input as discrete
d_mpg_dis <- new_d(mtcars$mpg, type = "discrete")
d_mpg_dis
# Treating input as continuous
d_mpg_con <- new_d(mtcars$mpg, type = "continuous")
d_mpg_con
# Outputs are actually vectorized functions
d_mpg_dis(15:20)
d_mpg_con(15:20)
# You can plot them directly using base `plot()` and `lines()`
op <- par(mfrow = c(1, 2))
plot(d_mpg_con, main = '"continuous" d-function\nfrom sample')
plot(d_mpg_dis, main = '"discrete" d-function\nfrom sample', col = "blue")
par(op)
## ----d-fun_data-frame---------------------------------------------------------
d_df_dis <- new_d(dis_df, type = "discrete")
d_df_dis
d_df_con <- new_d(con_df, type = "continuous")
d_df_con
op <- par(mfrow = c(1, 2))
plot(d_df_con, main = '"continuous" d-function\nfrom data frame')
plot(d_df_dis, main = '"discrete" d-function\nfrom data frame', col = "blue")
par(op)
## ----q-fun_sample-------------------------------------------------------------
# Treating input as discrete
q_mpg_dis <- new_q(mtcars$mpg, type = "discrete")
q_mpg_dis
# Treating input as continuous
q_mpg_con <- new_q(mtcars$mpg, type = "continuous")
q_mpg_con
# Outputs are actually vectorized functions
q_mpg_dis(c(0.1, 0.3, 0.7, 1.5))
q_mpg_con(c(0.1, 0.3, 0.7, 1.5))
# You can plot them directly using base `plot()` and `lines()`
plot(q_mpg_con, main = "Q-functions from sample")
lines(q_mpg_dis, col = "blue")
## ----q-fun_data-frame---------------------------------------------------------
q_df_dis <- new_q(dis_df, type = "discrete")
q_df_dis
q_df_con <- new_q(con_df, type = "continuous")
q_df_con
plot(q_df_con, main = "Q-functions from data frame")
lines(q_df_dis, col = "blue")
## ----r-fun_sample-------------------------------------------------------------
# Treating input as discrete
r_mpg_dis <- new_r(mtcars$mpg, type = "discrete")
r_mpg_dis
# Treating input as continuous
r_mpg_con <- new_r(mtcars$mpg, type = "continuous")
r_mpg_con
# Outputs are actually functions
r_mpg_dis(5)
r_mpg_con(5)
# You can plot them directly using base `plot()` and `lines()`
op <- par(mfrow = c(1, 2))
plot(r_mpg_con, main = '"continuous" r-function\nfrom sample')
plot(r_mpg_dis, main = '"discrete" r-function\nfrom sample', col = "blue")
par(op)
## ----r-fun_data-frame---------------------------------------------------------
r_df_dis <- new_r(dis_df, type = "discrete")
r_df_dis
r_df_con <- new_r(con_df, type = "continuous")
r_df_con
op <- par(mfrow = c(1, 2))
plot(r_df_con, main = '"continuous" r-function\nfrom data frame')
plot(r_df_dis, main = '"discrete" r-function\nfrom data frame', col = "blue")
par(op)
## ----dirac--------------------------------------------------------------------
r_dirac <- new_r(3.14, type = "continuous")
r_dirac
r_dirac(4)
# Outputs aren't exactly but approximately equal
dput(r_dirac(4))
## ----boolean------------------------------------------------------------------
new_d(data.frame(x = c(0, 1), prob = c(0.25, 0.75)), type = "discrete")
## ----density-args-------------------------------------------------------------
plot(
new_d(mtcars$mpg, "continuous"), lwd = 3,
main = "Examples of `density()` options"
)
# Argument `adjust` of `density()` helps to define smoothing bandwidth
lines(new_d(mtcars$mpg, "continuous", adj = 0.3), col = "blue")
# Argument `n` defines number of points to be used in piecewise-linear
# approximation
lines(new_d(mtcars$mpg, "continuous", n = 5), col = "green")
# Argument `cut` defines the "extending" property of density estimation.
# Using `cut = 0` assumes that density can't go outside of input's range
lines(new_d(mtcars$mpg, "continuous", cut = 0), col = "magenta")
## ----meta_x_tbl---------------------------------------------------------------
# Type "discrete"
d_dis <- new_d(1:4, type = "discrete")
meta_x_tbl(d_dis)
meta_class(d_dis)
meta_type(d_dis)
meta_support(d_dis)
# Type "continuous"
p_con <- new_p(1:4, type = "continuous")
head(meta_x_tbl(p_con))
meta_class(p_con)
meta_type(p_con)
meta_support(p_con)
# Dirac-like "continuous" function
r_dirac <- new_r(1, type = "continuous")
dput(meta_x_tbl(r_dirac))
dput(meta_support(r_dirac))
# `meta_all()` returns all metadata in a single list
meta_all(d_dis)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.