TableSkim では、表計算ソフトやスクリプトを使わずに、見ている行をグラフにしたり、表に集計したりできます。このページでは、どの問いにどの機能を使うか、結果の読み方、グラフから元の行へのたどり方を、例を交えて説明します。例では、デモファイルの normal.csv(54 人分。先頭行は列名として判定されます)と large.parquet(1 万行)を使います。
| 問い | 機能 | GUI | TUI |
|---|---|---|---|
| 列にどんな値が、それぞれいくつあるか | ヒストグラム | Edit → Histogram... | B |
| 数値(または日付)の 2 列に関係はあるか | 散布図、密度分布 | Edit → Scatter Plot... | M |
| 数値がグループによってどう違うか | 箱ひげ図 | Scatter Plot(X がテキスト) | M |
| グループごとの行数、合計、平均は | Group By | Edit → Group By... | A |
| 1 つの列の最小・最大・平均は | 列の統計 | Edit → Column Statistics | S |
どの機能も 現在の表示、つまりフィルタで残った行を対象にします。先に絞り込んでから(たとえばある 1 年に)、その行だけをグラフにしたり集計したりできます。フィルタを変えるとグラフも追従します。
ヒストグラムは、列の値が各範囲(区間)にいくつ入るかを数えます。現在のセルを列に置いて Edit → Histogram...(Ctrl+Shift+H)を選びます。

読み方:
[45, 50): 1298 (13%) は、得点が 45 以上 50 未満の行が 1298 行(全体の 13%)あるという意味です。
日付は日・月・年などの単位で数え、テキストの列は多い値から順に横棒で表示します。すべての操作は ヒストグラム、詳しい仕組みは 区間の決め方 を参照してください。
散布図は、ある列を横(X)、別の列を縦(Y)にとって、1 行を 1 つの点として描きます。Edit → Scatter Plot...(Ctrl+Shift+P)を選びます。先に 2 つの列を選択しておくとその列を描き(最初の列が X)、選択していなければ現在のセルの近くにある数値・日付の列を選びます。X と Y の一覧で変えられます。

読み方:
r = 0.0945 で、年齢から給与はほとんどわかりません。
y = 2641 x + 744393 は赤で描かれた直線そのものです。平均すると、年齢が 1 歳上がるごとに給与が 2641 高くなります。
行が多いと点が重なり合います。Show → Density にすると、代わりにマス目ごとに行を数え、少ない(暗い色)から多い(黄色)まで色分けします。

黄色の帯が、行の多い所です(Value にかかわらず得点 50 前後)。Log color scale をオンにすると、行の多いマスの隣でも数行しかないマスが見えるようになります。オフにすると数を線形に比べられます。
X が部署名などのテキストの列のときは、その値がそれぞれグループになって列を割り当てられ、グループごとの 箱ひげ図 を描きます。次の例は部署ごとの給与です。

箱の読み方:
中央値は Engineering が最も高く、散らばりは人事部が最も大きいことがわかります。1 人だけの部署(研究開発部)は線だけになります。グループは多い順に最大 30 個表示し、残りはまとめて (other) として描きます。
グループの値が 1,048,576 個を超えると、箱ひげ図の統計はその件数の一様なサンプルから推定します。表示する行数はグループ全体の件数のままで、箱の数値にはサンプル数と推定値であることを表示します。最小値・最大値・外れ値の件数もサンプルに基づきます。密度分布の件数は全行を数えます。点を保持する場合と密度分布だけを計算する場合で、箱ひげ図のサンプルは変わりません。
グループに違いがなければ、箱は同じように見えます。large.parquet の 5 つのカテゴリは同じ方法で生成したデータなので、このようになります。

Show → Density にすると、各グループのヒストグラムを色付きのマスの列として表示します。山が 2 つあるかどうかなど、箱よりも形が詳しくわかります。

グラフは傾向を示し、Group By は数字を示します。Edit → Group By...(Ctrl+Shift+G)で、グループ化する列と要約する列を選ぶと、結果を Group By という新しいシートに表示します。

グループ化する列だけにチェックを付けて Group を押すと、値ごとに 1 行と、その count(行数)が並びます。count 列で並べ替える(並べ替えボタンを 2 回クリック)と、大きいグループから順に見られます。

最後の空の行は、部署が空の行の数です。
Aggregate で列にチェックを付け、その下で関数を選びます:count(空でない値の数)、distinct(異なる値の数)、sum、mean、min、max、std dev(標準偏差)。要約した列と関数ごとに、Salary mean のような列ができます。平均は小数点以下が長くなりがちなので、列見出しのメニューの Format で、丸めて桁区切りを付けて表示できます。


Says "hello" の行は、テキストの扱いを示しています。給与がテキストの 500000.0 で、平均では数値として数えますが、min と max では書かれたとおりに表示します。
Group by の列にどれもチェックを付けないと、すべての行が 1 つのグループになり、合計などの 1 行が得られます。

Group by で 2 つ以上の列にチェックを付けると、組み合わせごとに数えます。たとえば City と Department なら、都市ごと・部署ごとに 1 行になります。
Group By シートは普通のシートなので、並べ替え、フィルタ、グラフ(count のヒストグラムなど)、コピー、File → Export View... での保存ができます。もう一度集計すると置き換わります。ファイルを再読み込みしても残りますが、元のシートが変わっても更新されないので、フィルタを変えたら集計し直してください。値の比較方法は 集計(Group By) を参照してください。
グラフとフィルタは連動するので、段階的に絞り込めます。
上の箱ひげ図で Engineering の箱をダブルクリックすると、7 人のエンジニアが残ります。

ヒストグラムと散布図のウィンドウの Save Image... で、グラフを軸の見出しも含めて表示どおりにファイルに書き出します。
.png):ウィンドウの大きさの画像です。スライド、文書、チャットに。
.svg):線や文字がどの大きさでもくっきり表示され、ベクター描画ソフトで編集できます。散布図の点は、SVG の中に画像として入ります。
種類は入力した名前の拡張子、またはファイルダイアログで選んだ種類で決まります。画像の大きさを変えるには、先にウィンドウの大きさを変えてください。
Web アプリ では、グラフのダイアログの Save PNG と Save SVG で同じように保存できます。ファイルはブラウザのダウンロード先に保存されます。散布図の点は SVG の中で個別の図形になります。
ターミナル UI にも、文字で描く同じ機能があります。
B でカーソルのある列のヒストグラムを表示し、Enter で棒に絞り込みます。
M で 2 つの列(先に選択)の密度分布、X がテキストのときは箱ひげ図を表示します。b で箱ひげ図と密度分布を切り替え、Enter で箱やマスに絞り込みます。
A で Group By ダイアログを開きます。結果はシートになり、o で並べ替えられます。
% で、GUI の Format と同じく現在の列の表示形式を変えます。



すべてのキーは ターミナル UI の使い方 を参照してください。グラフの画像保存は GUI でのみ使えます。