Learn R Programming

parsec (version 1.2.7)

FOD: Fuzzy First Order Domninance analysis on partial orders

Description

The function FOD performs the Fuzzy First Order Dominance analysis described in Fattore and Arcagni (forthcoming).

Usage

FFOD(profiles, ...)
# S3 method for wprof
FFOD(profiles,
    distributions = as.data.frame(profiles$freq),
    lambda = do.call(
        getlambda, as.list(names(profiles$profiles))
    ),
    alpha = NULL, ...
)

Value

An object of class FODposet containing:

delta

matrix of the overall dominance degrees.

mintr.delta

matrix of the min-transitive closure of matrix delta.

global.approx

L1 distance between delta and mintr.delta, divided by the L1 norm of delta.

global.approx.corr

L1 distance between delta and mintr.delta, divided by the L1 norm of delta after removing its diagonal.

cell.approx

matrix of absolute differences between the elements of delta and the elements of mintr.delta.

posets.ind

data.frame with indicators describing the partial orders obtained as alpha-cuts of the min-transitive closure mintr.delta. For each poset, the data frame provides: its cardinality, the number of comparabilities, the number of incomparabilities and their ratio (ci.ratio).

eqv.classes

list of boolean matrices specifying, for each alpha-cut, the equivalence classes of the input distributions. Equivalence classes are reported by rows and the initial distributions by columns. If element ij of the matrix is TRUE, then distribution j belongs to the i-th equivalence class.

covers

list of objects of class cover comprising the cover matrices of the poset generated by each alpha-cut of mintr.delta.

Arguments

profiles

an object of class wprof.

distributions

a data.frame of frequencies/weights where the columns correspond to the different distributions and the rows to the profiles. The profiles in the rows have to be ordered as in profiles.

lambda

object of class incidence representing the partial order of the relative importance of the indicators. By default, the lambda poset is an antichain ( i.e. all the indicators are considered equi-important).

alpha

vector of values to cut the mintr.delta matrix to generate the posets in the list covers. Default is NULL posets are generated for each different value in matrix mintr.delta. See section 'Value' below.

...

any of above.

Author

Fattore M., Arcagni A.

Details

The function requires the set of profiles, through the object profiles of class wprof, and the corresponding frequencies, which can be defined by the argument distributions of class data.frame.

Notice that a warning is provided if the rownames of the distributions do not match the rownamens of the profiles.

Through poset lambda, it is possible to provide (ordinal) information on the relative importance of the indicators in the multi-indicator system.

References

Fattore M., Arcagni A. (forthcoming), F-FOD: Fuzzy First Order Dominance analysis and populations ranking over ordinal multi-indicator systems.

Examples

Run this code
v1 <- as.ordered(c("a", "b", "c", "d"))
v2 <- 1:3
prof <- var2prof(varmod = list(v1 = as.ordered(c("a", "b", "c", "d")), v2 = 1:3))
np <- nrow(prof$profiles)

k <- 10 # number of populations
set.seed(0)
populations <- as.data.frame(lapply(1:k, function(x) round(runif(np)*100)))
rownames(populations) <- rownames(prof$profiles)
names(populations) <- paste0("P", 1:k)

prof
populations

res <- FFOD(profiles = prof, distributions = populations)
res

Run the code above in your browser using DataLab