[R] Sorting vector based on pairs of comparisons

Pedro Conte de Barros pb@rro@ @end|ng |rom u@|g@pt
Thu Mar 14 15:14:19 CET 2019


Thanks for this.

Yes, this is checked before trying to process this.

Pedro

On 14/03/2019 14.09, Bert Gunter wrote:
This cannot be done unless transitivity is guaranteed. Is it?

S   L

a  b
b  c
c  a

Bert


On Thu, Mar 14, 2019, 4:30 AM Pedro Conte de Barros <pbarros using ualg.pt<mailto:pbarros using ualg.pt>> wrote:
Dear All,

This should be a quite established algorithm, but I have been searching
for a couple days already without finding any satisfactory solution.

I have a matrix defining pairs of Smaller-Larger arbitrary character
values, like below

Smaller <- c("ASD", "DFE", "ASD", "SDR", "EDF", "ASD")

Larger <- c("SDR", "EDF", "KLM", "KLM", "SDR", "EDF"

matComp <- cbind(Smaller, Larger)

so that matComp looks like this

      Smaller Larger
[1,] "ASD"   "SDR"
[2,] "DFE"   "EDF"
[3,] "ASD"   "KLM"
[4,] "SDR"   "KLM"
[5,] "EDF"   "SDR"
[6,] "ASD"   "EDF"

This matrix establishes six pairs of "larger than" relationships that
can be used to sort the unique values in the matrix,

 > unique(as.vector(matComp))
[1] "ASD" "DFE" "SDR" "EDF" "KLM"

Specifically, I would like to get this:

sorted <- c("ASD", "DFE", "EDF", "SDR", "KLM")

or, equally valid (my matrix does not have the full information):

sorted <- c("DFE", "ASD", "EDF", "SDR", "KLM")

Preferably, I would get the different combinations of the unique values
that satisfy the "larger than" conditions in the matrix...


I am sure this is a trivial problem, but I could not find any algorithm
to solve it.

Any help would be highly appreciated

______________________________________________
R-help using r-project.org<mailto:R-help using r-project.org> mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

	[[alternative HTML version deleted]]



More information about the R-help mailing list