rowMeans_if: Row Means Conditional on Frequency of Observed Values

View source: R/quest_functions.R

rowMeans_ifR Documentation

Row Means Conditional on Frequency of Observed Values

Description

rowMean_if calculates the mean of every row in a numeric or logical matrix conditional on the frequency of observed data. If the frequency of observed values in that row is less than (or equal to) that specified by ov.min, then NA is returned for that row.

Usage

rowMeans_if(x, ov.min = 1, prop = TRUE, inclusive = TRUE)

Arguments

x

numeric or logical matrix. If not a matrix, it will be coerced to one.

ov.min

minimum frequency of observed values required per row. If prop = TRUE, then this is a decimal between 0 and 1. If prop = FALSE, then this is a integer between 0 and ncol(x).

prop

logical vector of length 1 specifying whether ov.min should refer to the proportion of observed values (TRUE) or the count of observed values (FALSE).

inclusive

logical vector of length 1 specifying whether the mean should be calculated if the frequency of observed values in a row is exactly equal to ov.min.

Details

Conceptually this function does: apply(X = x, MARGIN = 1, FUN = mean_if, ov.min = ov.min, prop = prop, inclusive = inclusive). But for computational efficiency purposes it does not because then the observed values conditioning would not be vectorized. Instead, it uses rowMeans and then inserts NAs for rows that have too few observed values

Value

numeric vector of length = nrow(x) with names = rownames(x) providing the mean of each row or NA depending on the frequency of observed values.

See Also

rowSums_if colMeans_if colSums_if rowMeans

Examples

rowMeans_if(airquality)
rowMeans_if(x = airquality, ov.min = 5, prop = FALSE)

quest documentation built on May 29, 2024, 4:59 a.m.