AF.cs {AF}R Documentation

Attributable fraction for cross-sectional sampling designs. NOTE! Deprecated function. Use AFglm.


AF.cs estimates the model-based adjusted attributable fraction for data from cross-sectional sampling designs.


AF.cs(formula, data, exposure, clusterid)



an object of class "formula" (or one that can be coerced to that class): a symbolic description of the model used for adjusting for confounders. The exposure and confounders should be specified as independent (right-hand side) variables. The outcome should be specified as dependent (left-hand side) variable. The formula is used to object a logistic regression by glm.


an optional data frame, list or environment (or object coercible by to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment (formula), typically the environment from which the function is called.


the name of the exposure variable as a string. The exposure must be binary (0/1) where unexposed is coded as 0.


the name of the cluster identifier variable as a string, if data are clustered.


Af.cs estimates the attributable fraction for a binary outcome Y under the hypothetical scenario where a binary exposure X is eliminated from the population. The estimate is adjusted for confounders Z by logistic regression (glm). Let the AF be defined as

AF = 1 - Pr(Y0 = 1) / Pr(Y = 1)

where Pr(Y0 = 1) denotes the counterfactual probability of the outcome if the exposure would have been eliminated from the population and Pr(Y = 1) denotes the factual probability of the outcome. If Z is sufficient for confounding control, then Pr(Y0 = 1) can be expressed as E_z{Pr(Y = 1 |X = 0,Z)}. The function uses logistic regression to estimate Pr(Y=1|X=0,Z), and the marginal sample distribution of Z to approximate the outer expectation (Sjölander and Vansteelandt, 2012). If clusterid is supplied, then a clustered sandwich formula is used in all variance calculations.



estimated attributable fraction.


estimated variance of AF.est. The variance is obtained by combining the delta method with the sandwich formula.


estimated factual proportion of cases; Pr(Y=1).


estimated variance of P.est. The variance is obtained by the sandwich formula.


estimated counterfactual proportion of cases if exposure would be eliminated; Pr(Y0=1).


estimated variance of P0.est. The variance is obtained by the sandwich formula.


the fitted model. Fitted using logistic regression, glm.


Elisabeth Dahlqwist, Arvid Sjölander


Greenland, S. and Drescher, K. (1993). Maximum Likelihood Estimation of the Attributable Fraction from logistic Models. Biometrics 49, 865-872.

Sjölander, A. and Vansteelandt, S. (2011). Doubly robust estimation of attributable fractions. Biostatistics 12, 112-121.

See Also

The new and more general version of the function: AFglm.


# Simulate a cross-sectional sample
expit <- function(x) 1 / (1 + exp( - x))
n <- 1000
Z <- rnorm(n = n)
X <- rbinom(n = n, size = 1, prob = expit(Z))
Y <- rbinom(n = n, size = 1, prob = expit(Z + X))

# Example 1: non clustered data from a cross-sectional sampling design
data <- data.frame(Y, X, Z)

# Estimation of the attributable fraction
AF.cs_est <- AF.cs(formula = Y ~ X + Z + X * Z, data = data, exposure = "X")

# Example 2: clustered data from a cross-sectional sampling design
# Duplicate observations in order to create clustered data
id <- rep(1:n, 2)
data <- data.frame(id = id, Y = c(Y, Y), X = c(X, X), Z = c(Z, Z))

# Estimation of the attributable fraction
AF.cs_clust <- AF.cs(formula = Y ~ X + Z + X * Z, data = data,
                         exposure = "X", clusterid = "id")

[Package AF version 0.1.5 Index]