R AnalyticFlow 3 スタートガイド

株式会社 ef-prime

2024年5月11日 (バージョン3.3.0)


English / Japanese

はじめに

弊社の製品をご利用いただき、まことにありがとうございます。 このドキュメントではR AnalyticFlow 3(以下RAF3) についてご説明します。 ご意見、ご要望がございましたら rflow-support at ef-prime.com までお寄せください。

文書について

スクリーンショットなど、内容の一部に開発版または英語版のものが含まれる場合があります。


ソフトウェアの入手と設定

ダウンロード

お使いのシステムに適切なパッケージをダウンロードしてください。RAF3はWindows、MacおよびLinuxで利用可能です。

インストールと起動

以下の説明のうち、お使いのシステムに適切なものに従ってください。

Windows

  1. Rをインストールします。Rは CRAN (The Comprehensive R Archive Network) ミラー から入手することができます。
  2. RAF3をインストールします。インストーラを起動し、指示に従ってください。

アプリケーションのショートカットアイコン をダブルクリックしてRAF3を起動します。

Mac

  1. Rをインストールします。Rは CRAN (The Comprehensive R Archive Network) ミラー から入手することができます。
  2. rJavaパッケージをインストールします。Rを起動して以下を実行します: install.packages("rJava")
  3. RAF3のzip形式ファイルを開き、アプリケーションアイコンを アプリケーション フォルダにドラッグ&ドロップします。

アプリケーションアイコン をクリックしてRAF3を起動します。

Linux

  1. OpenJDK (>= 17) および OpenJFX (>= 11) が必要です。Ubuntuの場合、以下を実行してインストールします: apt install openjdk-21-jdk openjfx
  2. Rをインストールします。RはCRAN (The Comprehensive R Archive Network) ミラー から入手することができます。Ubuntuの場合、以下を実行します:apt install r-base
  3. rJavaパッケージをインストールします。Ubuntuの場合、以下を実行します:apt install r-cran-rjava
  4. RAF3のtar.gz形式ファイルを展開します: tar -xzvf RAnalyticFlow_Linux_<VERSION>.tar.gz

rJavaパッケージのインストールは、Rを起動して install.packages("rJava") とすることでも可能です。Rの起動を R CMD javareconf JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 -e R のように行うことで、パッケージのインストール時に特定のOpenJDKを利用することができます。

上記の手順によって RAnalyticFlow_<VERSION> という名前のディレクトリが作成されます。 このディレクトリ内で以下のコマンドを実行するとRAF3が起動します:

./rflow &

JavaおよびJavaFXの場所を指定するには、実行前に JAVA_HOME および JFX_LIB 変数を設定します:

JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64

JFX_LIB=/usr/share/openjfx/lib

特に初回の起動時はJavaGDパッケージのインストールが必要となるため、JAVA_HOMEの設定を推奨します。


クイックツアー

起動から終了まで

クイックスタート

RAF3を起動すると、初期設定に続いて以下のダイアログが表示されます。 まずは クイックスタート ボタンを押して作業を開始します。

不足している 必須 パッケージ( rJava, JavaGD および codetools )がある場合、ここでインストールを促すダイアログが表示されます。

分析フロー

分析フロー はデータ分析の流れを表現するもので、作成、編集、保存および読み込みを行うことができます。

分析フローのコンセプトを理解するために例を見てみましょう。 メニューから ヘルプ > チュートリアル > 1. はじめに をクリックします。

それぞれのノード(アイコン)がデータ分析の各プロセスを表現し、対応するRスクリプトを含んでいます。 フローを実行 することでこれらのプロセスを順に実行することができます。

XYプロット ノードを選択し、 フローを実行 ボタンをクリックして結果を確認しましょう。

選択を実行 ボタンを押すことで個別のノードを実行することもできます。例として ヒストグラム ノードを実行してみましょう。

複数フローの編集

RAF3では複数の分析フローを編集することができます。 上の図では 新規フロー1. はじめに のふたつのフローがみられます。

後ほど導入する プロジェクト の概念を用いることで、複数のフローファイルやデータ、 ドキュメントといった各種のリソースを管理することができます。

終了

最後にウィンドウを閉じてプログラムを終了します。


分析とフローの作成

RAF3でデータを分析し、分析フローを作成する方法について説明します。 RAF3を起動し、 クイックスタート モードで以下の手順に従ってください。

操作

RAF3にはデータの入出力や加工、統計解析など様々な 操作 が含まれており、これらを用いて分析を行います。 例として、ツールバーの 入力 アイコンをクリックし、 サンプルデータのロード を選択します。

ここで以下のダイアログが表示されます。 データ テキストボックスに iris と入力すると以下の結果が得られます。

プレビュー は現在のワークスペースに影響を与えることがないよう、専用の 環境 で生成されます。 RAF3では様々な場面でこのようなプレビューを見ることができます。 通常プレビューはデータの一部のみを使って作成されるため、実際の結果とは必ずしも一致しないことにご注意ください。

実行 ボタンを押すことで実際にデータが読み込まれます。すると PREVIEW 表示が消え、これが実際の結果であることがわかります。 エラーが発生することもなく、実行に成功したようです。

ノードの作成

今の操作を分析フローに残しておきましょう。 ドラッグして追加 ボタンをドラッグしてフロー上にドロップします。

対応するアイコンがフローに追加されます。このアイコンを ノード と呼びます。

操作のアイコンを 直接 ドラッグ・アンド・ドロップ することでノードを追加することも可能です。 例として、ツールバーの スクリプト をクリックし、 Rスクリプト アイコンをフローの何もない場所にドラッグ・アンド・ドロップしてみましょう。

エッジの作成

上で作成した Rスクリプト ノードを サンプルデータのロード ノードの 上に ドラッグ・アンド・ドロップしてみてください。 ノード間に自動的に矢印が作成され、ノード同士が連結されます。この矢印を エッジ と呼びます。

他にも以下の方法でノードを作成することができます:

Rスクリプトノード

Rスクリプトノード には任意のRスクリプトを直接記述することができます。 Rスクリプトノードを作成するには 、ツールバーの スクリプト から Rスクリプト をドラッグ・アンド・ドロップします。

または、分析フローの何もない場所をダブルクリックすることでも作成することができます。

選択に応じた動作

多くの操作において、Rオブジェクトの選択を反映させることができます。

実際の例をみてみましょう。下の図のように Rオブジェクト タブ で iris オブジェクトを選択します:

このオブジェクトに対する操作を実行してみましょう。ここでは例として、データをテキストファイルに出力してみます。 ツールバーの 出力 をクリックし、 テキストデータに書き出し を選択します。

ここで次のダイアログが表示されます:

選択に対応する形で、自動的にオブジェクトの名称が入力されています( データ における iris) 。 出力ファイルの名称( 出力ファイル )は標準で iris.txt となります。 区切り文字カラム名 といったパラメータも同様に自動的に設定されていますが、変更することも可能です。

選択したパラメータに応じた適切なRコードが生成されます。 スクリプト タブ を選択して生成されたコードを確認してみましょう:

続いて 実行 によってコードを実行し、 ドラッグして追加 もしてみましょう。

同様の手順で、テキストファイルをRの data.frame オブジェクトに読み込むことが可能です。 まず ファイル タブ iris.txt を選択します:

選択したオブジェクトに対して操作を実行します。先ほどと同様に

とするか、以下のいずれかの方法でも可能です:

入力として iris.txt が選択され、各種のパラメータも自動選択されています。


プロジェクト

RAF3はプロジェクトを管理するためのシンプルな仕組みを持っています。 これはファイルを用いた仕組みで、 GitRStudio などの他システムの方法と同時に利用することもできます。

RAF3で新しい プロジェクト を作成するには、まず プロジェクトホーム ディレクトリを選択します。 これはどんなディレクトリでもよく、RStudioのプロジェクトディレクトリのような既存のものでも構いません。 標準では、プロジェクトホームはRセッションの 作業ディレクトリ としても利用されます。

クイックスタートモード

クイックスタート モードでは、プロジェクトの設定を行うことなく作業を開始することができます。 このとき背後では一時ディレクトリが作成され、これがプロジェクトホームとして利用されます。

あらかじめ プロジェクトを保存 しない限り、プログラムを終了したり新しいプロジェクトを開始するとき(新規クイックスタートセッションを開始する場合を含む)、この 一時ホームディレクトリは削除されます

プロジェクトを保存するには、ツールバーの ボタンをクリックします。 ディレクトリの名前を入力すると、そこが新しいプロジェクトホームに設定されてフロー他のデータが移動されます。

プロジェクトの作成

RAF3を起動し、以下のダイアログを表示します。 もし既にプログラムが起動していれば、ツールバーの ボタンをクリックします。

新規プロジェクト… ボタンをクリックします。 プロジェクト名場所 を尋ねられます。 この例ではプロジェクト名は MyProject 、場所は C:\Users\user\Documents\RAnalyticFlow\MyProject としています。

標準の文字コードと改行コードは外部ファイルに関する設定で、Rスクリプトやデータをファイルに書き出すときなどに使用されます。 ここで指定した値が標準値として設定され、そのつど変更することも可能です。

OKをクリックすると新規プロジェクトが作成され、作業を開始することができます。

ファイル構造

プロジェクトホーム はプロジェクトに関するあらゆる情報を保存するディレクトリです。 一般的なデータ分析プロジェクトはデータ、処理(分析フローまたはスクリプト)およびドキュメントを含みます。 バイナリファイルや設定ファイル、メタデータ(例: .git ディレクトリ)を含むこともあります。

以下の図はプロジェクトホームディレクトリの例を示しています:

* プロジェクトホーム/
    |
    +-- *.rflow (分析フローファイル)
    |
    +-- (データファイル、ドキュメント、スクリプトなど)
    |
    +-- .afp/
        |
        +-- (各種プロジェクト情報ファイル)

.afp はプロジェクトに関する内部情報を含む(隠し)ディレクトリです。これはシステム設定によっては非表示となっています。 このディレクトリはユーザーによって編集されることを意図して いない ため、利用には十分注意してください。

リンク

ひとつのディレクトリに全てのリソースを保存することが常に良い方法とは限りません。 よくある例としては、ローカルマシンで作業をしながらデータはリモートサーバに保管したい、といったことがあるでしょう。

このようなケースをサポートするため、プロジェクトにはディレクトリやファイルへの リンク を含めることができます。以下の図がこの概念を表しています:

* some directory(へのリンク)/
    |
    +-- ...

* some file(へのリンク)

これらのリンクはプロジェクトホームディレクトリと並んで表示されます。例として以下の図を見てください:

ここで data ディレクトリと file.txt はプロジェクトホーム内には存在しませんが、リンクを用いて簡単にアクセスすることができます。

リンクを作成するにはふたつの方法があります:


カスタマイズ

カスタム操作の作成

RAF3ではユーザー自身が新しい操作を作成することができます。 新規 カスタム操作 を作成するには、ツールバーから カスタム をクリックして 新規… を選択します。

始めに関数の名前を指定します。この例では mean を選択しました。以下、この関数をコントロールするためのインターフェースを定義していきます。

既存の関数を使う代わりに、操作を表す関数を新しく定義することも可能です。 これを行うには、 ユーザー定義関数 を選択して 関数定義 タブに関数定義を入力します。

タイトル はこのカスタム操作の名前として利用されます。 ここでは 平均値の計算 と名づけましたが、空のままとしてもかまいません(その場合、関数名がタイトルとして利用されます)。

関数が値を返す場合、 オブジェクトに出力 にチェックすることで、ユーザーは戻り値の代入先オブジェクトを選択することができます。 関数が値を返さない場合や、戻り値を代入したくない場合にはオフにしても構いません。

次のステップとして、関数の引数を指定するためのコントロールを追加します。 ボタンをクリックして x を選択します。

リストにエントリが追加されました。 この引数にタイトルをつけることができますが、今回は空のままにしておきましょう。

デフォルト値 はこの引数のデフォルトの値(省略時の値)です。ただし、ここでは自然なデフォルト値というものがありませんので、これも空にしておきましょう。

この引数の入力をユーザーに強制したい場合、 必須 にチェックします。 mean 関数における x は省略することができませんので、チェックします。

下に結果のプレビューが表示されています。 出力オブジェクトx のふたつの入力があります。 x は必須であるため、空のときにエラーマークが表示されます。

もうひとつ、 NA欠損値) を扱うためのコントロールを追加しましょう。 再度 ボタンをクリックし、na.rm と入力します。 右側の選択肢から、選択肢ベースのコントロールを追加する リスト を選択します。

タイトルが na.rm ではわかりにくいため、 欠損値を無視 というタイトルを設定しておきましょう。

入力可能 チェックボックスをオフにします。これがオンのとき、ユーザーは選択肢からひとつ選ぶ代わりにテキストを入力することができますが、ここではこの機能は不要です。 デフォルト値 は空のままで構いません。

続いて 選択肢 に値を追加します。 選択肢の候補はふたつあります;ひとつは TRUE で、意味をわかりやすくするために 無視する というラベルをつけておきます。 もうひとつは FALSE で、ラベルは 何もしない とします。

ではここで新しいカスタム操作がどのように動作するかを見てみましょう。プレビュー領域に値を入力し、 スクリプト タブで生成されたコードを確認します:

どうやらうまく動いているようです。 プレビュー ボタンをクリックして実際の動作を確認してみましょう:

最後にテストウィンドウを閉じて、 名前をつけて保存… ボタンをクリックしてこのカスタム操作を保存します。 これは .yaml 形式ファイルによって保存されます。標準で選択される custom_ui ディレクトリに保存してください。

保存したあとは、ツールバーの カスタム メニューからこのカスタム操作にアクセスすることができます:

作成したカスタム操作は通常の操作と同様、分析フローにノードとして追加することができます。 カスタムノードの定義はフローに保存されるため、他のユーザーに渡して利用することも可能です。

ツールバーのカスタマイズ

好みに合わせてツールバーをカスタマイズすることができます。 例えば、小さなディスプレイで作業する際にはより省スペースなツールバーを利用することができます。

ツールバーの設定を変更するには、メニューから 設定 > 環境設定 をクリックして 表示 タブを選択します。


補遺および謝辞

Rパッケージについて

RAF3はいくつかのRパッケージに依存しています。 ただし、インストールの手順に記載されているものを除いては、通常これらについて意識する必要はありません。 必要なパッケージが利用できない場合には、その時点でインストールが要求されます。

ただ、インターネット接続が利用できない、または制限されている場合には問題となります。 このような場合には、以下のパッケージをあらかじめインストールしてください。

以下のパッケージは 必須 です:

下記のRスクリプトによって上記のパッケージをすべてインストールすることができますが、RAFが既に起動している状態では実行しないでください

install.packages(c("rJava", "JavaGD", "codetools"))

RAFはこれらのパッケージに依存しているため、インストールに失敗してデータを破壊するおそれがあります。 RAFを起動する前に通常のRコンソールで上記を実行するか、またはRAF3を起動した際に表示されるインストール指示に従った方が安全です。


謝辞

R、およびその他のオープンソースライブラリの開発者の皆様に感謝いたします。 RAF3および本ドキュメントで利用しているアイコンを作成された FatCow 様に感謝いたします。

最後に、ユーザーの皆様からの貢献に感謝いたします。 ご意見、ご要望は rflow-support at ef-prime.com までお寄せください。