R のパイプラインツール targets を使う意義

R
R のパイプラインツール targets をデータ分析プロジェクトで採用する意義と、そのときに推奨される関数型のプログラミングスタイルについてまとめました。 targets とは targets は “R による統計・データサイエンスのための Make 風パイプラインツール” です。 R のパイプラ

Target Markdown 検証メモ

R
R パッケージ targets の次期バージョン 0.5.0 でリリース予定の Target Markdown の動作について検証しました。 targets とは targets は R のパイプラインツールです。 開発停止となった drake の後継プロジェクトという位置づけになっています。 targets の使い方を理解するには、公式ユーザーマニュアルにあるチ

【R】スコープを限定してパッケージをインポートする

R
概要 R でパッケージを使うとき、library() や require() でロードする代わりに import::here() や box::use() を使うとスコープを限定してパッケージの関数をインポートすることができます。これは関数の副作用を避けるのに役立ちます。 課題 例えば、次のような関数 process_data() を考えます。この関

RStudio のオプション設定を dotfiles で管理する

概要 dotfiles とは, ファイル名が “.” (ドット) から始まるシステム設定ファイルの総称です. システム開発者の間では dotfiles を Git リポジトリで管理し, 環境構築に利用するプラクティスがあります. RStudio ではバージョン 1.3 以降で設定情報がファイルで管理されるようになったので,

起動しているすべての Docker Compose プロジェクトを表示 / 終了する

どのディレクトリで Docker Compose プロジェクトを up していたかわからなくなったときのため, マシン上で起動している Docker Compose プロジェクトをすべて表示するコマンド docker-compose-list-all-projects と, すべて終了するコマンド docker-compose-down-all-projects を作成しました. ソース インストール コマンドをインストールするにはソースを

BigQuery 上でデータ変換パイプラインを構築するための SQL の書き方

昨年12月に Dataform の Google Cloud 加入が発表 されて以来, 関心を持って調べています. Dataform は BigQuery などのデータウェアハウス上で SQL を中心としたデータ変換パイプラインを構築するための仕組みです. 先日は Dataform で Google Analytics 4 の BigQuery Export データ を変換するパイプラインを作ってみたりもしました

RStudio Server で自動的にプロジェクトが開くようにする裏技

R
以前の記事 では Docker で RStudio Server を起動する方法について触れました。 このとき、ブラウザで RStudio Server に接続した際に自動的にプロジェクトが開くようにできるとさらに便利です。 これは公式に提供されている機能ではないのですが、隠しファイル /home/rstudio/.rstudio/projects_settings/switch-to-project にプロジェクトのパスが書き込
renv と Docker の相互運用パターン

renv と Docker の相互運用パターン

概要 R のプロジェクトで renv(パッケージ管理システム)と Docker を同時に使う利用法として3種類のパターンを取り上げます。 多くの分析プロジェクトでは renv パッケージキャッシュを外から Docker コンテナにマウントする “外付けパッケージキャッシュパタ

R + Google API 系パッケージのプロジェクトテンプレートと認可フローのまとめ

R
R プロジェクトテンプレート 前の記事 では Docker + RStudio Server プロジェクトの GitHub テンプレート terashim/rstudio-docker-project-template を紹介しました。 このテンプレートから派生して、Google API 系パッケージを使った R プロジェクトのテンプレートを作成しました: terashim/rstudio-docker-google-project-template API を使うには認可が必要になりますが、そ