# rowFreqs: Rowwise Frequencies In scrime: Analysis of High-Dimensional Categorical Data Such as SNP Data

## Description

Computes the frequencies of the levels that the categorical variables in a matrix show.

## Usage

 ```1 2``` ```rowFreqs(x, levels = 1:3, divide.by.n = FALSE, affy = FALSE, includeNA = FALSE, useNN = c("not", "only", "also"), check = TRUE) ```

## Arguments

 `x` a matrix in which each row represents a categorical variable (e.g., a SNP) and each column an observation, where the variables are assumed to show the levels specified by `levels`. Missing values are allowed in `x`. `levels` vector specifying the levels that the categorical variables in `x` show. Ignored if `affy = TRUE`. `divide.by.n` should the numbers of observations showing the respective levels be divided by the total number of observations, i.e.\ by `ncol(x)`? If `FALSE`, these numbers are divided by the number of non-missing values of the respective variable. Ignored if `includeNA = TRUE`. `affy` logical specifying whether the SNPs in `x` are coded in the Affymetrix standard way. If `TRUE`, `levels = c("AA", "AB", "BB")` and `useNN = "also"` will be used (the latter only when `includeNA = TRUE`). `includeNA` should a column be added to the output matrix containing the number of missing values for each variable? `useNN` character specifying whether missing values can also be coded by `"NN"`. If `useNN = "not"` (default), missing values are assumed to be coded only by `NA`. If `"only"`, then missing values are assumed to be coded only by `"NN"` (and not by `NA`. If `"both"`, both `"NN"` and `NA` are considered. Ignored if `affy = TRUE`. `check` should it be checked whether some of the variables show other levels than the one specified by `levels`?

## Value

A matrix with the same number of rows as `x` containing for each variable the numbers of observations showing the levels specified by `levels`.

## Author(s)

Holger Schwender, holger.schwender@udo.edu

`rowTables`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26``` ```## Not run: # Generate a matrix containing data for 10 categorical # variables with levels 1, 2, 3. mat <- matrix(sample(3, 500, TRUE), 10) rowFreqs(mat) # leads to the same results as rowTables(mat) / ncol(mat) # If mat contains missing values mat[sample(500, 20)] <- NA # then rowFreqs(mat) # leads to the same result as rowTables(mat) / rowSums(!is.na(mat)) ## End(Not run) ```