Diag: Equality of Two or More Factors

View source: R/Diag.R

DiagR Documentation

Equality of Two or More Factors


Converts two or more factors into a new factor whose value is 0 where the original factors are not all equal, and nonzero otherwise.


Diag(..., binary = FALSE)



One or more factors




Used mainly in regression models for data classified by two or more factors with the same levels. By default, operates on k-level factors to produce a new factor having k+1 levels; if binary = TRUE is specified, the result is a coarser binary variable equal to 1 where all of the input factors are equal and 0 otherwise.

If the original levels are identical the levels of the factor created in the binary = FALSE case will be in the same order, with "." added as the first level. Otherwise the levels of the new factor will be "." followed by the sorted combined levels.


Either a factor (if binary = FALSE) or a 0-1 numeric vector (if binary = TRUE).


David Firth and Heather Turner

See Also



rowfac <- gl(4, 4, 16)
colfac <- gl(4, 1, 16)
diag4by4 <- Diag(rowfac, colfac)
matrix(Diag(rowfac, colfac, binary = TRUE), 4, 4)

gnm documentation built on April 29, 2022, 5:06 p.m.