The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

$0

 概要: 
  tsv 形式のデータを読み取り、あらゆる列のペアで出現した値のペアの頻度に
  基づいた統計表を2個出力する。

 出力
  
        1番目の表 : 異なる値のペアがいくつあったか。

          正方行列のi行j列目の要素は、入力行のi列目とj列目を比較したときに、
          i <= j の場合 : 入力の第i列目と第j列目の異なる組合せがいくつあったか。
          i > j  の場合 : ひとつずつの列で考えた場合に実現可能な範囲のどこ(最小なら0,最大なら100)にあるか。

          右上については、全行数に等しいか(:)、あらゆる組合せが発生したか(*)、
          組合せの数がそれぞれの列の値の異なる数から考えて最小であったか(-)、
          により、それぞれ括弧内の記号をつけて、色を付けた。
          対角線については、明るい緑色をつけた。

        2番目の表 : 出現したペアの値の頻度についての最小値と最大値

          右上については、i列とj列の値のペアで頻度表を作り、その頻度の最小と最大。
          左下については、それらの頻度についての中央値(median) である。

        -N 
        -T 

 オプション:

  -= ; 先頭行を列の並びと見なし、利用する。データは2行目からと考える。
  -q num ; 2番目の表の対角線とそれより左下で範囲の分位点(0 <= num <= 1で位置参照)を与える。
  -N ; ある列Aから別の列Bについて、Aの値からBの値が一意に定まらないようなAの値の個数を表示する。(Non-deternability 非決定度 )
  -T ; 2個の列A,Bの、値のペアから、どの列Cの値が決定できるかを、行列状に表示する。右下の青い文字は、決定ができない値のペアが1個だけのものになる列Cを表す。

  開発上のメモ :
     * 他のコマンド similarcols と統合したい。