transform | R Documentation |
Carry out transformations between incidence matrices from endorelations and other codings.
transform_incidences(x, from = c("PO", "SO", "01", "-1+1"), to = c("PO", "SO", "01", "-1+1"))
x |
An incidence matrix from an endorelation. |
from, to |
The coding scheme (see Details). |
In the following, we consider an incidence matrix X with cells x_{jk} of a relation R with tuples (a_j, b_k).
For the "PO"
(“Preference Order”) coding,
X is a 0/1 matrix, and
a_j R b_k iff x_{jk} = 1. It follows in particular
that if both x_{jk} and x_{kj} are 0, the corresponding pair
(a_j, b_k) is not contained in R, i.e., a_j and b_k
are unrelated.
For the "SO"
(“"Strict Order"”) coding,
X is a 0/1 matrix with possible
NA
values. As for "PO"
, a_j R b_k iff
x_{jk} = 1, but at most one of x_{jk} and x_{kj} can
be 1. If both are missing (NA
), a_j and b_k
are unrelated.
For the "01"
coding, X 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, X is a matrix with values -1, 0, or 1.
The coding is similar to "SO"
, except that NA
is
represented by 0, and x_{jk} = -1 if not a_j R b_k.
relation_incidence()
.
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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.