投稿一覧

Rでエラー時にスタックトレースを自動出力する

R
結論 Rバージョン4.0以上で、次のコードを実行しておくとエラー時に自動でスタックトレースが出力されるようになります。 globalCallingHandlers(error = function(e) { capture.output(traceback(6), file = stderr()) }) 動作 次のような内容のファイル example.R があるとします。 # example.R f <- function() { g() } g <- function() { h() } h <- function() { stop("Error") } これを次のようにして

Rの条件ハンドリングを理解する

R
JavaやPythonなど、多くの言語には「例外ハンドリング」の仕組みが備わっています。Rにはこれに代わる仕組みとして 「条件ハンドリング」 があります。これについてコードを書いて実験しながら理解していきます。 エラー、警告、メッセージ Rにはエラ

renv の explicit なスナップショットタイプと DESCRIPTION ファイル

R
要約 renv のスナップショット(バージョン固定)にはいくつかのタイプがあります。 そのうち "explicit" なスナップショットタイプがおすすめです。 この方法では対象となるパッケージを DESCRIPTION ファイルで明示的に指定します。 プロジェクトの依存関係を宣言的に記述することができ

ローカルの Git リポジトリに対応するリモート GitHub リポジトリを作成するコマンド

要旨 コマンド gh repo create --source $(git rev-parse --show-toplevel) --private を実行すると、ローカルの Git リポジトリと同名の GitHub リポジトリを作成し、リモートリポジトリ origin に設定することができます。 ローカルリポジトリを作ってから GitHub リポジトリを作る Git/GitHubで新規にプロジェクトを開始すると

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 を作成しました. ソース インストール コマンドをインストールするにはソースを