メインコンテンツへスキップ

Rの力と多様性——統計だけではない

202 文字·1 分
William Cruz
Nuno Coração
目次

Rはしばしば統計学者専用のツールとして捉えられていますが、この認識はRの能力を大きく過小評価しています。Rは統計分析とデータ操作において卓越した性能を発揮する一方で、豊富なエコシステム、表現力豊かなデータモデル、エレガントな視覚化ツールを備えた強力な汎用プログラミング言語でもあります。基本的な数値計算をはるかに超えた、ダイナミックな環境です。

統計を超えて:包括的なエコシステム
#

Rの中核は、統計計算のための堅牢な基盤を提供しています。豊富なライブラリ(「パッケージ」と呼ばれます)は、単純な記述統計から高度なモデリング技術まで、あらゆる統計手法に対応する関数を備えています。しかし、Rの力は統計にとどまらず、幅広いタスクに及んでいます。

  • データクレンジングと変換: Rはデータのクリーニング、変換、再構築のための強力なツールを提供します。dplyrtidyrなどのパッケージは直感的なデータ操作の文法を提供し、分析のためのデータ準備を効率的に行えます。
  • データ視覚化: Rは卓越したデータ視覚化能力で知られています。グラフィックスの文法に基づくggplot2パッケージは、高度なカスタマイズで美しく情報豊かな視覚化を作成できます。ggplot2のほかにも、インタラクティブなグラフ、地図、専門的な視覚化のための多数のパッケージが存在します。
  • インタラクティブWebアプリケーション(Shiny): shinyパッケージを使えば、Rから直接インタラクティブなWebアプリケーションを構築できます。シンプルなダッシュボードから複雑なデータ探索ツールまで、幅広く対応——Web開発の深い知識は不要です。
  • 機械学習と深層学習: Rには活発な機械学習エコシステムがあり、caretmlr3keras(人気のPython深層学習ライブラリへのインターフェース)などのパッケージが、深層学習モデルを含む幅広いアルゴリズムへのアクセスを提供します。Rの強力なツールとライブラリはApexアルゴリズムの最適化と改良に大きく貢献しました。
  • レポート生成(R Markdown): R Markdownを使えば、コード・結果・説明文を一つのドキュメントにまとめ、再現可能なレポート、プレゼンテーション、さらには書籍全体を作成することができます。
  • その他にも多数: Rの能力は地理空間分析、テキストマイニング、バイオインフォマティクス、計量経済学など、多くの専門分野にも広がっています。

コミュニティ主導の開発:CRANリポジトリ
#

Rの重要な強みの一つは、活発で活気あるコミュニティです。世界中の開発者がComprehensive R Archive Network(CRAN)にパッケージを提供しており、この中央リポジトリから膨大なツールを手軽にインストールして利用できます。この協働モデルにより、Rは絶えず進化し続け、新しいパッケージや機能が定期的に追加されています。オープンソースの性質がイノベーションを促進し、Rをデータサイエンスの最前線に保ち続けています。

このウェブサイト:Rの多様性の証
#

このウェブサイト全体は、RStudioプラットフォーム(Rのために専設計された統合開発環境、IDE)内で構築されました。スタイリングとフロントエンドのインタラクティブ性にはHTML、JavaScript、CSSが使用されていますが、コアの構造とコンテンツ管理はRで処理しています。これはRの驚くべき柔軟性と、従来の統計的応用を大きく超えた能力を示しています。blogdownパッケージ(Hugoをベースに構築)により、R Markdownドキュメントから直接静的ウェブサイトを作成することが可能です。

RでWebサイトを作成する
#

以下の手順で、HugoとBlowfishを使って完全に白紙の状態から始めることができます。必要な依存関係のほとんどは、お使いのプラットフォームのパッケージマネージャーでインストールできます。Hugoの標準的なクイックスタートガイドに従って素早く始めることもできます。

Hugoのインストール
#

Hugoを使ったことがない場合は、ローカルマシンにインストールする必要があります。すでにインストールされているかどうかはhugo versionコマンドで確認できます。

テーマが最新のHugo機能を活用しているため、Hugo 0.87.0以降を使用してください。

お使いのプラットフォーム向けの詳細なインストール手順はHugo公式ドキュメントで確認できます。

Blowfish Tools(推奨)
#

Blowfishを始めるのに役立つCLIツールが利用可能です。新しいHugoプロジェクトの作成、テーマのインストール、テーマ設定ファイルのセットアップを自動的に行います。まだベータ版のため、見つけた問題はこちらで報告してください。

npmを使用してCLIツールをグローバルにインストールします(他のパッケージマネージャーも可):

npx blowfish-tools

または

npm i -g blowfish-tools

次にblowfish-toolsコマンドを実行してインタラクティブセッションを開始し、作成と設定のプロセスをガイドしてもらいます:

blowfish-tools

blowfish-tools newを実行して、新しいHugoプロジェクトの作成とテーマのインストールを一度に行うこともできます。詳細はCLIヘルプを確認してください:

blowfish-tools new mynewsite

CLIツールを使ったBlowfishの素早い始め方を紹介するビデオです:

CLIを使わないインストール
#

新しいサイトの作成
#

hugo new site mywebsiteコマンドを実行して、mywebsiteという名前のディレクトリに新しいHugoサイトを作成します。

プロジェクトディレクトリには任意の名前を付けられますが、以下の手順ではmywebsiteという名前であることを前提とします。別の名前を使う場合は適宜読み替えてください。

Blowfishテーマのダウンロード
#

HugoサイトにBlowfishテーマをインストールするには、いくつかの方法があります。インストールと管理の容易さの順に並べると:

迷った場合はGitサブモジュール方式を選択してください。

gitを使ったインストール
#

この方法はテーマを最新の状態に保つのに最も手軽な方法です。HugoGoに加えて、ローカルマシンにGitがインストールされていることを確認してください。

Hugoウェブサイトのディレクトリ(上で作成したもの)に移動し、新しいgitリポジトリを初期化してBlowfishをサブモジュールとして追加します:

cd mywebsite
git init
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish

その後、テーマ設定ファイルのセットアップに進みます。

Hugoを使ったインストール
#

この方法では、HugoがテーマをGoモジュールとして管理します。HugoはモジュールのためにGoを使用するため、事前にgoがインストールされていることを確認してください。

  1. Goをダウンロードしてインストールします。go versionコマンドでインストールを確認できます。

    HugoのモジュールはGoが必要なため、Go 1.12以降を使用してください。
  2. Hugoプロジェクトディレクトリ(上で作成したもの)から、ウェブサイトのモジュールを初期化します:

    # GitHubでプロジェクトを管理している場合
    hugo mod init github.com/<username>/<repo-name>
    
    # ローカルでプロジェクトを管理している場合
    hugo mod init my-project
    
  3. 新しいファイルconfig/_default/module.tomlを作成し、以下の内容を追加してテーマを設定に追加します:

    [[imports]]
    disable = false
    path = "github.com/nunocoracao/blowfish/v2"
    
  4. hugo serverでサーバーを起動するとテーマが自動的にダウンロードされます。

  5. テーマ設定ファイルのセットアップに進みます。

手動インストール
#

  1. テーマのソースコードの最新リリースをダウンロードします。

    Githubからダウンロード
  2. アーカイブを展開し、フォルダ名をblowfishに変更して、HugoプロジェクトのルートフォルダにあるThemes/`ディレクトリに移動します。

  3. テーマ設定ファイルのセットアップに進みます。

テーマ設定ファイルのセットアップ
#

ウェブサイトのルートフォルダで、Hugoが生成したhugo.tomlファイルを削除します。テーマの*.toml設定ファイルをconfig/_default/フォルダにコピーします。これにより、正しいテーマ設定がすべて揃い、テーマのカスタマイズが容易になります。

注意: プロジェクトにmodule.tomlファイルがすでに存在する場合は、上書きしないでください。

テーマのインストール方法によって、設定ファイルの場所が異なります:

  • Hugoモジュール: HugoキャッシュディレクトリにあるHugoキャッシュ、またはGitHubからコピーをダウンロード
  • Gitサブモジュールまたは手動インストール: themes/blowfish/config/_default

ファイルをコピーした後、設定フォルダは次のようになっているはずです:

config/_default/
├─ hugo.toml
├─ languages.en.toml
├─ markup.toml
├─ menus.en.toml
├─ module.toml  # Hugoモジュールを使用してインストールした場合のみ
└─ params.toml
重要: HugoモジュールでBlowfishをインストールしなかった場合は、hugo.tomlファイルの先頭にtheme = "blowfish"を追加する必要があります。

次のステップ
#

Blowfishをインストールしたら、Mark GingrassのYouTubeシリーズ「Cradle to Grave R」(Cradle to Grave R)、特にチュートリアル「R Hugo Website」を参考にサイトの構築と配信を行いましょう。丁寧で体系的な解説はこのワークフローの優れたリソースです。サイトが正常に動作したら、必要に応じて設定を自由にカスタマイズしてください。


アップデートのインストール
#

定期的に、テーマの修正や新機能を追加する新しいリリースが公開されます。これらの変更を活用するには、ウェブサイトのテーマファイルを更新する必要があります。

更新方法は、最初に選択したインストール方法によって異なります。各方法の手順は以下の通りです。

gitを使った更新
#

Gitサブモジュールは一つのgitコマンドで更新できます。以下を実行すると、テーマの最新バージョンがローカルリポジトリに取得されます:

git submodule update --remote --merge

サブモジュールが更新されたら、サイトを再ビルドしてすべてが期待通りに動作することを確認します。

Hugoを使った更新
#

Hugoを使ったモジュールの更新は簡単です。プロジェクトディレクトリに移動して以下を実行します:

hugo mod get -u

Hugoはmodule.tomlgo.modファイルを検査して、必要なモジュールを自動的に更新します。問題が発生した場合は、これらのファイルが正しく設定されていることを確認してください。

サイトを再ビルドしてすべてが期待通りに動作することを確認します。

手動での更新
#

Blowfishを手動で更新するには、テーマの最新コピーをダウンロードして、プロジェクト内の古いバージョンを置き換える必要があります。

このプロセスでは、テーマファイルに加えたローカルのカスタマイズは失われます。
  1. テーマのソースコードの最新リリースをダウンロードします。

    Githubからダウンロード
  2. アーカイブを展開し、フォルダ名をblowfishに変更して、Hugoプロジェクトのルートフォルダにあるthemes/ディレクトリに移動します。既存のディレクトリを上書きしてすべてのテーマファイルを置き換えます。

  3. サイトを再ビルドしてすべてが期待通りに動作することを確認します。

著者
William Cruz
CTO Apex Fintech