Lesson 0. はじめに 

1. 目的

    このチュートリアルは、Mコマンドを用いたデータ処理の基礎を習得することが目的である。このチュートリアルを学習することによって、データ分析について、大きな可能性を実感できるであろう。
    Mコマンドは、非常に限られた単機能の処理(例えば、「データを選択する」、「足し算をする」、「日付計算をする」など)をおこなうコマンドの集合である。コマンドの数は現在で70程度であるが、今後も増える可能性がある。これらのコマンドを組み合わせることによって非常に多様な処理を実現することができる。このチュートリアルでは、それらの組み合わせの一部を実際に演習することによって学習を進めていく。またMコマンドの他にも、特にUNIXの発展の中で開発されてきた非常に有用なコマンドも利用する。例えば、項目レコード構造のデータを扱うための"awk"や、データ編集コマンドである"sed"、テキスト閲覧コマンドである"less"などは非常に優れたコマンドである。
    Mコマンドは、項目レコード構造のテキストデータを処理するためのコマンドである。データ分析で必要となる帳票の作成に関しては多くのことが実現できる。しかしながら、実際の分析を進めていくと、単に帳票を作成する意外にもさまざまな重要な仕事が残されている。大きな観点から見れば、「どのようなテーマを設定するのか」、「実際にデータからわかったことをどのように商売に結びつけるのか」、「コンピュータ上のデータ以外からのデータ収集」、「他人との共同作業」などは、実際に分析を進めていけばすぐに直面する問題である。またより技術的なレベルで言えば、「分析の中で作成された帳票をどのように管理するのか」、「分析を進める過程をどのように管理するのか」、「他人の分析をどのように活用できるか」などは分析に関するプロセス管理の問題である。これらの問題に対してこのチュートリアルは何ら回答を与えていない。これらの問題に対する回答は、実際に分析を進める中で各自が解決していってもらいたい。ただ、分析プロセスの管理の問題に関してはFootMark Minerがある程度の手助けをしてくれる。
 

2. 前提とする知識

    このチュートリアルでは、コンピュータに関する基本的な知識を前提としている。チュートリアルの中でも詳しい説明は加えていくつもりではあるが、理解不能な言葉や概念に出会ったとき、次のような文献を参考にすることを薦める。また、用語に関しては、インターネット上での検索も有効である。"goo""yahoo"といった検索エンジン、用語集などを適宜利用してもらいたい。
    またMコマンドに関する基本的考え方も一通り目を通しておいてもらいたい。
参考文献




 

3. 前準備

   このチュートリアルを進めていくにあたって必要となる前準備について以下の項目に従って解説していく。利用するOSによって異なってくるため、どのOSで必要となる作業であるかは適宜説明している。Unix系のOSを利用しているならば、ほとんどの作業は必要ないかもしれない。
 

3-1. Unixコマンド(Windows系OS利用者のみ)

    マイクロソフト系のOS(Windows95やWindowsNT)では、数少ない単機能のコマンドの組み合わせによって多様さを実現するという発想がないために、Unixで利用できる"awk"や"sed"、"less"などのコマンドが通常では利用できない。CygnusのThe Gnu-Win32 Projectはこの不便を解消してくれる。すなわち、unix系のコマンドをWindows環境でも利用できるよう多くのコマンドを移植してくれている。そこでWindows環境でこのチュートリアルを学習しようとしている人は、これらのコマンドをインストールする必要がある(インストールのページ参照)。LinuxやFreeBSDなどのUnix系OSを利用していればこの問題はない。

3-2. テキストエディタ

    Mコマンドを用いてデータ処理をするためには、バッチ(シェルスクリプト)を記述する必要がある。通常バッチはテキストエディタと呼ばれるシンプルなワープロを用いて作成される。
    Windows系OSであれば、"NOTEPAD"でも十分である。しかしながらより高性能なエディタを利用したければ、秀丸エディタを薦める(インストールのページ参照)。アカデミックユースについてはフリーである。
    Unix系OSであれば標準で利用できるviやmuleなどのエディタを利用すればよい。ただし日本語入力を可能とするためには若干の設定が必要となる(インストールのページ参照)。

3-3. シェルの起動

    実際にユーザがコンピュータ(OS)に対して何らかの要求をする時に必要となるプログラムがシェルである。プログラムの起動や作業環境の管理などが主な仕事である。このチュートリアルでは一貫して"bash(Born Again SHell")を用いる。このシェルはキーボード操作を基本とする。ユーザは画面上に現れるプロンプトの後にコマンドを入力することによって作業を進める。
    Unix系OSを用いているならば、既にインストールされ利用しているはずである。もちろん他のシェル("sh","csh",ksh")などであっても差し支えはない。
    一方でWindows系OSにおけるシェルはマウス操作を基本とするデスクトップ上に現れるビジュアルシェルが基本となる。アイコンをクリックすればプログラムが起動されるなど、ユーザが取り組みやすい使用となっている。しかしながら、Mコマンドを実行する上では不具合が多い。Windwosにはcmd.exeもしくはcommand.comというキー操作を基本としたシェルが存在するが、その機能は非常に低い。そこでbashを用いる。MS-DOSプロンプトから"bash"と入力し起動する。画面上で"bash$"というプロンプトが表示されればOKである。
も しMS-DOSプロンプトを起動し"bash"を起動するという操作が面倒であれば、デスクトップ上にアイコンとして登録しておけばよい。登録のしかたは、デスクトップ上でマウス右→新規作成→ショートカットでショートカット作成の画面があらわれる。そこで「参照」ボタンをクリックし、bashを指定する。bashは、インストールの仕方によるが、通常であれば"c:\gnuwin32\b18\H-i386-cygwin32\bin\"のディレクトリに存在する。
 

 3-3. 作業ディレクトリの作成

    チュートリアルで学習していけば、さまざまなファイルを作成することになる。バッチファイルや帳票ファイルなど数多く作成される。そこでそれらのファイルをあなた専用のディレクトリ(作業ディレクトリ)に保存していく必要がある。特にどの場所でなければならないということはない。好きなところに作成すればよい。ただし、全ての演習の結果を残す気であれば10M程度の容量は必要となる。また、ディレクトリ名は一応"mcmdtmp"という名前に統一しておく。
    Windows95はシングルユーザOSなので、基本的にどこにでも作成できる。推奨するディレクトリは"c:\My Documents\mcmdtmp","c:\mcmdtmp"もし増設のハードディスクがd:ドライブにあるならば"d:\mcmdtmp"など。
    WindowsNtはマルチユーザOSなので、どこにでも作成できるというわけにはいかない。
    Unix系OSもマルチユーザOSなので、どこにでも作成できるというわけにはいかない。推奨するディレクトリは"/home/UserName/mcmdtmp"(UserNameはあなたのユーザ名)、もしくは増設のハードディスクが例えば"/mnt/h00"にマウントされており、自由に利用できるならば、"/mnt/h00/mcmdtmp"など。
    どこに作業ディレクトリを作成するかが決まれば"mkdir 作業ディレクトリ名"にて作成される。
例1)Windows95
c:
mkdir "\My Documents\mcmdtmp"
例2)