transform {relations}R Documentation

Transform incidences

Description

Carry out transformations between incidence matrices from endorelations and other codings.

Usage

transform_incidences(x, from = c("PO", "SO", "01", "-1+1"),
                        to = c("PO", "SO", "01", "-1+1"))

Arguments

x

An incidence matrix from an endorelation.

from, to

The coding scheme (see Details).

Details

In the following, we consider an incidence matrix XX with cells xjkx_{jk} of a relation RR with tuples (aj,bk)(a_j, b_k).

For the "PO" (“Preference Order”) coding, XX is a 0/1 matrix, and ajRbka_j R b_k iff xjk=1x_{jk} = 1. It follows in particular that if both xjkx_{jk} and xkjx_{kj} are 0, the corresponding pair (aj,bk)(a_j, b_k) is not contained in R, i.e., aja_j and bkb_k are unrelated.

For the "SO" (“"Strict Order"”) coding, XX is a 0/1 matrix with possible NA values. As for "PO", ajRbka_j R b_k iff xjk=1x_{jk} = 1, but at most one of xjkx_{jk} and xkjx_{kj} can be 1. If both are missing (NA), aja_j and bkb_k are unrelated.

For the "01" coding, XX is a matrix with values 0, 1, or 0.5. The coding is similar to "SO", except that NA is represented by 0.5.

For the "-1+1" coding, XX is a matrix with values -1, 0, or 1. The coding is similar to "SO", except that NA is represented by 0, and xjk=1x_{jk} = -1 if not ajRbka_j R b_k.

See Also

relation_incidence().

Examples

require("sets")				# set(), pair() etc.
x <- relation(domain = c(1,2,3,4),
              graph = set(pair(1,2), pair(4,2), pair(1,3), pair(1,4),
                          pair(3,2), pair(2,1)))
inc <- relation_incidence(x)
print(inc)

transform_incidences(inc, to = "SO")
transform_incidences(inc, to = "01")
transform_incidences(inc, to = "-1+1")

## transformations should be loss-free:
inc2 <- transform_incidences(inc, from = "PO", to = "-1+1")
inc2 <- transform_incidences(inc2, from = "-1+1", to = "SO")
inc2 <- transform_incidences(inc2, from = "SO", to = "01")
inc2 <- transform_incidences(inc2, from = "01", to = "PO")
stopifnot(identical(inc, inc2))

[Package relations version 0.6-13 Index]