applyPiecewiseLinearValueFunctionsOnPerformanceTable: Applies value functions on a performance table.

View source: R/applyPiecewiseLinearValueFunctionsOnPerformanceTable.R

applyPiecewiseLinearValueFunctionsOnPerformanceTableR Documentation

Applies value functions on a performance table.

Description

Transforms a performance table via given piecewise linear value functions.

Usage

applyPiecewiseLinearValueFunctionsOnPerformanceTable(valueFunctions, 
                                      performanceTable, 
                                      alternativesIDs = NULL, 
                                      criteriaIDs = NULL)

Arguments

valueFunctions

A list containing, for each criterion, the piecewise linear value functions defined by the coordinates of the break points. Each value function is defined by a matrix of breakpoints, where the first row corresponds to the abscissa (row labelled "x") and where the second row corresponds to the ordinate (row labelled "y").

performanceTable

Matrix or data frame containing the performance table. Each row corresponds to an alternative, and each column to a criterion. Rows (resp. columns) must be named according to the IDs of the alternatives (resp. criteria).

alternativesIDs

Vector containing IDs of alternatives, according to which the datashould be filtered.

criteriaIDs

Vector containing IDs of criteria, according to which the data should be filtered.

Value

The function returns a performance table which has been transformed through the given value functions.

Examples


# the value functions

v<-list(
  Price = array(c(30, 0, 16, 0, 2, 0.0875), 
    dim=c(2,3), dimnames = list(c("x", "y"), NULL)), 
  Time = array(c(40, 0, 30, 0, 20, 0.025, 10, 0.9), 
    dim = c(2, 4), dimnames = list(c("x", "y"), NULL)), 
  Comfort = array(c(0, 0, 1, 0, 2, 0.0125, 3, 0.0125), 
    dim = c(2, 4), dimnames = list(c("x", "y"), NULL)))

# the performance table

performanceTable <- rbind(
    	c(3,10,1),
			c(4,20,2),
			c(2,20,0),
			c(6,40,0),
			c(30,30,3))

rownames(performanceTable) <- c("RER","METRO1","METRO2","BUS","TAXI")

colnames(performanceTable) <- c("Price","Time","Comfort")

# the transformed performance table

applyPiecewiseLinearValueFunctionsOnPerformanceTable(v,performanceTable)

paterijk/MCDA documentation built on April 7, 2023, 8:31 p.m.