Package 'logisticRR'

Title: Adjusted Relative Risk from Logistic Regression
Description: Adjusted odds ratio conditional on potential confounders can be directly obtained from logistic regression. However, those adjusted odds ratios have been widely incorrectly interpreted as a relative risk. As relative risk is often of interest in public health, we provide a simple code to return adjusted relative risks from logistic regression model under potential confounders.
Authors: Youjin Lee
Maintainer: Youjin Lee <[email protected]>
License: GPL (>=3) | file LICENSE
Version: 0.3.0
Built: 2024-11-01 03:54:16 UTC
Source: https://github.com/youjin1207/logisticrr

Help Index


Calculate adjusted relative risks

Description

When response variable is binary and exposure variable is binary or continuous, this function derives adjusted relative risks conditional on fixed other confounders' value from logistic regression.

Usage

logisticRR(formula, basecov = 0, fixcov = NULL, data, boot = FALSE,
  n.boot = 100)

Arguments

formula

a formula term that is passed into glm() having a form of response ~ terms where response is binary response vector and terms is a collection of terms connected by '+'. The first term of predictors will be used as a predictor of interest to calculate relative risks with respect to response variable.

basecov

a baseline value of exposure variable. Defaults to 0.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than an exposure variable of interest, fixcov = NULL; if fixcov is missing for covariates, they are all set to 0 (for numerical covariates) or first levels (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

boot

a logical value whether bootstrap samples are generated or not. Defaults to FALSE.

n.boot

if boot = TRUE, the number of bootstrap samples. Defaults to 100.

Value

fit

an object of class glm.

RR

(conditional) relative risk in response under exposure at baseline (basecov) and basecov + 1.

delta.var

estimated variance of relative risk (RR) using Delta method.

boot.rr

if boot = TRUE, a vector of RR's using bootstrap samples.

boot.var

estimated sampled variance using bootstraps if boot = TRUE.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
X <- rbinom(n, 1, 0.3)
W <- rbinom(n, 1, 0.3);
W[sample(1:n, n/3)] = 2
Y <- rbinom(n, 1, plogis(X - W))
dat <- as.data.frame(cbind(Y, X, W))
result <- logisticRR(Y ~ X + W, basecov = 0, data = dat,
                    boot = TRUE, n.boot = 200)

Inference on relative risk under multinomial logistic regression

Description

Inference on relative risk under multinomial logistic regression

Usage

multinRR(formula, basecov, comparecov, fixcov = NULL, data,
  boot = FALSE, n.boot = 100)

Arguments

formula

a formula term that is passed into multinom() where response should be a factor having K different levels. Every term appearing in the formula should be well-defined as a column of data. Reference response should be specified as the first level.

basecov

a baseline value of exposure variable. Defaults to 0.

comparecov

a value of exposure variable for comparison. Defaults to the first level.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than the exposure variable of interest, fixcov = NULL; if fixcov is missing for existing covariates, they are all set to 0 (for numerical covariates) or to the first level (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

boot

a logical value whether bootstrap samples are generated or not. Defaults to FALSE.

n.boot

if boot = TRUE, the number of bootstrap samples. Defaults to 100.

Value

fit

an object of class multinom.

RRR

(adjusted) relative risk ratio of K different responses compared to reference response under exposure at baseline (basecov) and basecov + 1.

RR

(adjusted) relative risk of K different responses under exposure at baseline (basecov) and basecov + 1.

delta.var

estimated variance of relative risk (RR) using Delta method.

boot.rr

if boot = TRUE, a vector of RR's using bootstrap samples.

boot.rrr

if boot = TRUE, a vector of relative risk ratio (RRR)'s using bootstrap samples.

boot.var

estimated sampled variance using bootstraps if boot = TRUE.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
X <- rbinom(n, 1, 0.3)
W <- rbinom(n, 1, 0.3)
W[sample(1:n, n/3)] = 2
Y <- rbinom(n, 1, plogis(X - W))
multiY <- ifelse(X == 1 , rbinom(n, 1, 0.7) + Y, rbinom(n, 1, 0.2) + Y)
print(table(multiY))
dat <- as.data.frame(cbind(multiY, X, W))
dat$W <- as.factor(dat$W)
result <- multinRR(multiY ~ W + X, basecov = 0, comparecov = 1,
data = dat, boot = TRUE)
print(apply(result$boot.rr, 2, sd)) # estimated standard errors using Delta method
print(sqrt(result$delta.var)) # estimated standard errors using bootstrap

Inference on relative risk under multinomial logistic regression

Description

Inference on relative risk under multinomial logistic regression

Usage

multiRR(formula, basecov = 0, fixcov = NULL, data, boot = FALSE,
  n.boot = 100)

Arguments

formula

a formula term that is passed into multinom() where response should be a factor having K different levels. Every term appearing in the formula should be well-defined as a column of data. Reference response should be specified as the first level.

basecov

a baseline value of exposure variable. Defaults to 0.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than the exposure variable of interest, fixcov = NULL; if fixcov is missing for existing covariates, they are all set to 0 (for numerical covariates) or to the first level (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

boot

a logical value whether bootstrap samples are generated or not. Defaults to FALSE.

n.boot

if boot = TRUE, the number of bootstrap samples. Defaults to 100.

Value

fit

an object of class multinom.

RRR

(adjusted) relative risk ratio of K different responses compared to reference response under exposure at baseline (basecov) and basecov + 1.

RR

(adjusted) relative risk of K different responses under exposure at baseline (basecov) and basecov + 1.

delta.var

estimated variance of relative risk (RR) using Delta method.

boot.rr

if boot = TRUE, a vector of RR's using bootstrap samples.

boot.rrr

if boot = TRUE, a vector of relative risk ratio (RRR)'s using bootstrap samples.

boot.var

estimated sampled variance using bootstraps if boot = TRUE.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
X <- rbinom(n, 1, 0.3)
W <- rbinom(n, 1, 0.3)
W[sample(1:n, n/3)] = 2
Y <- rbinom(n, 1, plogis(X - W))
dat <- as.data.frame(cbind(Y, X, W))
result <- multiRR(W ~ X + Y, basecov = 0, data = dat, boot = TRUE, n.boot = 100)
print(apply(result$boot.rr, 2, sd)) # estimated standard errors using Delta method
print(sqrt(result$delta.var)) # estimated standard errors using bootstrap

Calculate adjusted relative risks under nominal exposure variable

Description

When response variable is binary and exposure variable is categorical this function derives adjusted relative risks conditional on fixed other confounders' value from logistic regression.

Usage

nominalRR(formula, basecov = NULL, comparecov = NULL, fixcov = NULL,
  data, boot = FALSE, n.boot = 100)

Arguments

formula

a formula term that is passed into glm() having a form of response ~ terms where response is binary response vector and terms is a collection of terms connected by '+'. The first term of predictors will be used as a predictor of interest to calculate relative risks with respect to response variable.

basecov

a baseline value of exposure variable. Defaults to the first level.

comparecov

a value of exposure variable for comparison. Defaults to the first level.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than an exposure variable of interest, fixcov = NULL; if fixcov is missing for covariates, they are all set to 0 (for numerical covariates) or first levels (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

boot

a logical value whether bootstrap samples are generated or not. Defaults to FALSE.

n.boot

if boot = TRUE, the number of bootstrap samples. Defaults to 100.

Value

fit

an object of class glm.

RR

(conditional) relative risk in response under exposure at baseline (basecov) and comparecov.

delta.var

estimated variance of relative risk (RR) using Delta method.

boot.rr

if boot = TRUE, a vector of RR's using bootstrap samples.

boot.var

estimated sampled variance using bootstraps if boot = TRUE.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
W <- rbinom(n, 1, 0.3); W[sample(1:n, n/3)] = 2
dat <- as.data.frame(W)
dat$X <- sample( c("low", "medium", "high"), size = n, replace = TRUE)
dat$Y <- ifelse(dat$X == "low", rbinom(n, 1, plogis(W + 0.5)),
               ifelse(dat$X == "medium", rbinom(n, 1, plogis(W + 0.2)),
               rbinom(n, 1, plogis(W - 0.4)) ))
dat$X <- as.factor(dat$X)
result <- nominalRR(Y ~ X + W, basecov = "low", comparecov = "high", data = dat,
boot = TRUE, n.boot = 200)

Print adjusted relative risk using multinomial logistic regression under nominal exposure variable.

Description

Print adjusted relative risk using multinomial logistic regression under nominal exposure variable.

Usage

printmnRR(formula, basecov, comparecov, fixcov = NULL, data)

Arguments

formula

a formula term that is passed into multinom() where response should be a factor having K different levels. Every term appearing in the formula should be well-defined as a column of data. Reference response should be specified as the first level.

basecov

a baseline value of exposure variable. Defaults to 0.

comparecov

a value of exposure variable for comparison. Defaults to the first level.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than the exposure variable of interest, fixcov = NULL; if fixcov is missing for existing covariates, they are all set to 0 (for numerical covariates) or to the first level (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

Value

fit

an object of class multinom.

RRR

(adjusted) relative risk ratio of K different responses compared to reference response under exposure at baseline (basecov) and basecov + 1.

RR

(adjusted) relative risk of K different responses under exposure at baseline (basecov) and basecov + 1.

delta.var

estimated variance of relative risk (RR) using Delta method.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
X <- rbinom(n, 1, 0.3)
W <- rbinom(n, 1, 0.3)
W[sample(1:n, n/3)] = 2
Y <- rbinom(n, 1, plogis(X - W))
multiY <- ifelse(X == 1 , rbinom(n, 1, 0.7) + Y, rbinom(n, 1, 0.2) + Y)
print(table(multiY))
dat <- as.data.frame(cbind(multiY, X, W))
dat$W <- as.factor(dat$W)
result <- printmnRR(multiY ~ W + X, basecov = 0, comparecov = 1, data = dat)

Print adjusted relative risk using multinomial logistic regression under binary or ordinal exposure variable.

Description

Print adjusted relative risk using multinomial logistic regression under binary or ordinal exposure variable.

Usage

printmRR(formula, basecov = 0, fixcov = NULL, data)

Arguments

formula

a formula term that is passed into multinom() where response should be a factor having K different levels. Every term appearing in the formula should be well-defined as a column of data. Reference response should be specified as the first level.

basecov

a baseline value of exposure variable. Defaults to 0.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than the exposure variable of interest, fixcov = NULL; if fixcov is missing for existing covariates, they are all set to 0 (for numerical covariates) or to the first level (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

Value

fit

an object of class multinom.

RRR

(adjusted) relative risk ratio of K different responses compared to reference response under exposure at baseline (basecov) and basecov + 1.

RR

(adjusted) relative risk of K different responses under exposure at baseline (basecov) and basecov + 1.

delta.var

estimated variance of relative risk (RR) using Delta method.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
X <- rbinom(n, 1, 0.3)
W <- rbinom(n, 1, 0.3)
W[sample(1:n, n/3)] = 2
Y <- rbinom(n, 1, plogis(X - W))
dat <- as.data.frame(cbind(Y, X, W))
result <- printmRR(W ~ X + Y, basecov = 0, data = dat)

Print adjusted relative risk under nominal exposure variable.

Description

Print adjusted relative risk under nominal exposure variable.

Usage

printnRR(formula, basecov, comparecov, fixcov = NULL, data)

Arguments

formula

a formula term that is passed into glm() having a form of response ~ terms where response is binary response vector and terms is a collection of terms connected by '+'. The first term of predictors will be used as a predictor of interest to calculate relative risks with respect to response variable.

basecov

a baseline value of exposure variable. Defaults to the first level.

comparecov

a value of exposure variable for comparison. Defaults to the first level.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than an exposure variable of interest, fixcov = NULL; if fixcov is missing for covariates, they are all set to 0 (for numerical covariates) or first levels (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

Value

fit

an object of class glm.

RR

(adjusted) relative risk in response under exposure at baseline (basecov) and comparecov.

delta.var

estimated variance of relative risk (RR) using Delta method.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Author(s)

Youjin Lee

Examples

n <- 500
set.seed(1234)
W <- rbinom(n, 1, 0.3); W[sample(1:n, n/3)] = 2
dat <- as.data.frame(W)
dat$X <- sample( c("low", "medium", "high"), size = n, replace = TRUE)
dat$Y <- ifelse(dat$X == "low", rbinom(n, 1, plogis(W + 0.5)),
               ifelse(dat$X == "medium", rbinom(n, 1, plogis(W + 0.2)),
               rbinom(n, 1, plogis(W - 0.4)) ))
dat$X <- as.factor(dat$X)
result <- printnRR(Y ~ X + W, basecov = "high", comparecov = "low", data = dat)

Print adjusted relative risk under binary or ordinal exposure variable.

Description

Print adjusted relative risk under binary or ordinal exposure variable.

Usage

printRR(formula, basecov = 0, fixcov = NULL, data)

Arguments

formula

a formula term that is passed into glm() having a form of response ~ terms where response is binary response vector and terms is a collection of terms connected by '+'. The first term of predictors will be used as a predictor of interest to calculate relative risks with respect to response variable.

basecov

a baseline value of exposure variable. Defaults to 0.

fixcov

a data frame of fixed value for each of adjusted confounders. If there is no confounder other than an exposure variable of interest, fixcov = NULL; if fixcov is missing for covariates, they are all set to 0 (for numerical covariates) or first levels (for factor covariates).

data

a data frame containing response variable and all the terms used in formula.

Value

fit

an object of class glm.

RR

(adjusted) relative risk in response under exposure at baseline (basecov) and basecov + 1.

delta.var

estimated variance of relative risk (RR) using Delta method.

fix.cov

a data frame of fixed value for each of adjsuted confounders.

Examples

n <- 500
set.seed(1234)
X <- rbinom(n, 1, 0.3)
W <- rbinom(n, 1, 0.3)
W[sample(1:n, n/3)] = 2
Y <- rbinom(n, 1, plogis(X - W))
dat <- as.data.frame(cbind(Y, X, W))
result <- printRR(Y ~ X + W, basecov = 0, data = dat)