in reply to Re: Doing pair-exclusivity analysis and building a matrix
in thread Doing pair-exclusivity analysis and building a matrix

Hey, WOw, thanks again so much!! Now I have 3 codes to review. Angel
  • Comment on Re^2: Doing pair-exclusivity analysis and building a matrix

Replies are listed 'Best First'.
Re^3: Doing pair-exclusivity analysis and building a matrix
by BrowserUk (Patriarch) on Mar 28, 2012 at 03:51 UTC

    A couple of minor optimisations:

    #! perl -slw use strict; use Data::Dump qw[ pp ]; my %names = map{ my( $name, $rest ) = split; $name, { map{ $_, undef } split ',', $rest }; } <DATA>; my @sortedKeys = sort keys %names; print "\t", join "\t", @sortedKeys; for my $i ( @sortedKeys ) { my @keysI = keys %{ $names{ $i } }; printf "%s\t", $i; for my $j ( @sortedKeys ) { my $nMatchingCitiesJ = grep{ exists $names{ $j }{ $_ } } @keysI; printf "%d\t", @keysI - $nMatchingCitiesJ; } print ''; } __DATA__ Name1 USA,Canada,Yemen Name2 Canada,Portugal,India Name3 China,HongKong,Canada Name4 London,Amsterdam,Ireland,USA Name5 India,USA,Canada

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?