reverseSplit: A function to reverse the role of names and values in a list.
Description
Given a list with names x and values in a set y this function
returns a list with names in y and values in x.
Usage
reverseSplit(inList)
Arguments
inList
A named list with values that are vectors.
Value
A list with length equal to the number of distinct values in the input list
and values from the names of the input list.
Details
First the list is unrolled to provide a two long vectors, names are repeated,
once for each of their values. Then the names are split by the values.
This turns out to be useful for inverting mappings between one set of
identifiers and an other.