p_glm | R Documentation |
p-values associated with (generalized) linear regression model.
Requires a pre-specified design matrix (X
).
p_glm(
formula,
X,
betas,
test,
sigma = NULL,
family = gaussian(),
gen_fun = gen_glm,
...
)
gen_glm(formula, X, betas, sigma = NULL, family = gaussian(), ...)
formula |
formula passed to either |
X |
a data.frame containing the covariates |
betas |
vector of slope coefficients that match the
|
test |
character vector specifying the test to pass to
|
sigma |
residual standard deviation for linear model. Only
used when |
family |
family of distributions to use (see |
gen_fun |
function used to generate the required discrete data.
Object returned must be a |
... |
additional arguments to be passed to |
a single p-value
Phil Chalmers rphilip.chalmers@gmail.com
p_lm.R2
X <- data.frame(G = factor(rep(c('control', 'treatment'), each=50)),
C = sample(50:100, 100, replace=TRUE))
head(X)
# ANCOVA setup
p_glm(y ~ G + C, test="Gtreatment = 0",
X=X, betas=c(10, .3, 1), sigma=1)
# ANCOVA setup with logistic regression
p_glm(y ~ G + C, test="Gtreatment = 0",
X=X, betas=c(-2, .5, .01), family=binomial())
# ANCOVA setup with poisson regression
p_glm(y ~ G + C, test="Gtreatment = 0",
X=X, betas=c(-2, .5, .01), family=poisson())
# test whether two slopes differ given different samples.
# To do this setup data as an MLR where a binary variable S
# is used to reflect the second sample, and the interaction
# effect evaluates the magnitude of the slope difference
gen_twogroup <- function(n, dbeta, sdx1, sdx2, sigma, n2_n1 = 1, ...){
X1 <- rnorm(n, sd=sdx1)
X2 <- rnorm(n*n2_n1, sd=sdx2)
X <- c(X1, X2)
N <- length(X)
S <- c(rep(0, n), rep(1, N-n))
y <- dbeta * X*S + rnorm(N, sd=sigma)
dat <- data.frame(y, X, S)
dat
}
# prospective power using test that interaction effect is equal to 0
p_glm(formula=y~X*S, test="X:S = 0",
n=100, sdx1=1, sdx2=2, dbeta=0.2,
sigma=0.5, gen_fun=gen_twogroup) |> Spower(replications=1000)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.