add_zero: Expand a matrix or a data.frame with zeros based on rownames...

View source: R/utils.R

add_zeroR Documentation

Expand a matrix or a data.frame with zeros based on rownames matching


For a given two-dimensional object with rownames and a character vector, add_zero produces a corresponding object whose rownames match the character vector, with zeros on the additional rows.

This function is an easy-to-use and reliable way to reintroduce non-responding units in the variance estimation process (after the non-response phase is taken into account).


add_zero(y, rownames, remove = TRUE)



A (sparse) matrix or a data.frame. The object to add zeros to.


A character vector (other types are coerced to character). The character vector giving the rows of the produced object.


Should rows of y whose name do not appear in the rownames argument be removed ? TRUE by default, a warning is shown when rows are removed.


A (sparse) matrix or data.frame depending on the type of y.


Martin Chevalier


# Data generation
n <- 10
p <- 2
y <- matrix(1:(n*p), ncol = p, dimnames = list(sample(letters, n)))
y[c(3, 8, 12)] <- NA
rownames <- letters

# Standard use
add_zero(y, rownames)

# Use when rownames in y do not match
# any element in the rownames argument
rownames(y)[1:3] <- toupper(rownames(y)[1:3])
add_zero(y, rownames)
add_zero(y, rownames, remove = FALSE)

gustave documentation built on Nov. 17, 2023, 5:10 p.m.