plot_pexp_beta | R Documentation |
This function plots the posterior expectation of beta, the linear effect of the individual level covariates, as function of the context-level covariates
plot_pexp_beta(
samples,
X = NULL,
W = NULL,
pred.pexp.beta = FALSE,
ncol.beta = NULL,
ylab = NULL,
nrow.w = NULL,
ncol.w = NULL,
smooth.line = FALSE,
title = NULL,
legend.position = "top",
col.pred.line = "red",
x.axis.size = 1.1,
y.axis.size = 1.1,
title.size = 12,
panel.title.size = 1.4,
legend.size = 1
)
samples |
an output of the function |
X |
a string vector with the name of the first-level covariates whose associated tau should be displayed |
W |
a string vector with the name of the context-level covariate(s) whose linear effect will be displayed. If |
pred.pexp.beta |
boolean, if |
ncol.beta |
integer with number of columns of the grid used for each group of context-level covariates |
ylab |
string, the label of the y-axis |
nrow.w |
integer with the number of rows of the grid |
ncol.w |
integer with the number of columns of the grid |
smooth.line |
boolean, if |
title |
string, title of the plot |
legend.position |
one of four options: "bottom" (default), "top", "left", or "right". It indicates the position of the legend |
col.pred.line |
string with color of fitted line. Only works if |
x.axis.size |
numeric, the relative size of the label in the x-axis |
y.axis.size |
numeric, the relative size of the label in the y-axis |
title.size |
numeric, absolute size of the title |
panel.title.size |
numeric, the relative size of the titles in the panel of the plot |
legend.size |
numeric, the relative size of the legend |
library(magrittr)
set.seed(66)
# Note: this example is just for illustration. MCMC iterations are very reduced
set.seed(10)
n = 20
data.context1 = tibble::tibble(x1 = rnorm(n, -3),
x2 = rnorm(n, 3),
z = sample(1:3, n, replace=TRUE),
y =I(z==1) * (3 + 4*x1 - x2 + rnorm(n)) +
I(z==2) * (3 + 2*x1 + x2 + rnorm(n)) +
I(z==3) * (3 - 4*x1 - x2 + rnorm(n)) ,
w = 20
)
data.context2 = tibble::tibble(x1 = rnorm(n, -3),
x2 = rnorm(n, 3),
z = sample(1:2, n, replace=TRUE),
y =I(z==1) * (1 + 3*x1 - 2*x2 + rnorm(n)) +
I(z==2) * (1 - 2*x1 + x2 + rnorm(n)),
w = 10
)
data = data.context1 %>%
dplyr::bind_rows(data.context2)
## estimation
mcmc = list(burn.in=1, n.iter=50)
samples = hdpGLM(y ~ x1 + x2, y ~ w, data=data, mcmc=mcmc, n.display=1)
plot_pexp_beta(samples)
plot_pexp_beta(samples, X='x1', ncol.w=2, nrow.w=1)
plot_pexp_beta(samples, X='x1', ncol.beta=2)
plot_pexp_beta(samples, pred.pexp.beta=TRUE, W="w", X=c("x1", "x2"))
plot_pexp_beta(samples, W='w', smooth.line=TRUE, pred.pexp.beta=TRUE, ncol.beta=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.