mcpField
C
coding-r

coding-r

github.com/alphaonedevデータ・データベース54 回インストール
リポジトリ

coding-r について

coding-r は、R によるデータ処理を行う AI エージェント向けスキルです。データ変換、統計分析、可視化から、レポート、Shiny アプリ、パッケージ開発まで扱います。

主な機能

  1. 01tidyverse によるデータフレーム変換
  2. 02ggplot2 による可視化
  3. 03統計モデルの適合
  4. 04RMarkdown レポートの生成
  5. 05Shiny アプリと R パッケージの開発

活用シーン

  1. 01表形式データセットの整形
  2. 02分布や変数間の関係の描画
  3. 03回帰分析の実行
  4. 04対話型ダッシュボードや再現可能なレポートの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill coding-r

インストール後、Claude Code で/coding-rを入力して読み込まれたか確認します。

詳細

目的

このスキルを使うと、tidyverse や ggplot2 などのパッケージを使用して、データ操作、可視化、分析に関する R プログラミングタスクを実行できます。データフレーム、統計モデリング、RMarkdown レポート、Shiny アプリ、パッケージ開発に重点を置いています。

使用する場面

  • データセットのクリーニングや変換など、データフレームを使って表形式のデータを扱う場合。
  • 散布図やヒストグラムなど、ggplot2 で可視化を作成する場合。
  • データセットで線形回帰を行うなど、統計モデリングを実施する場合。
  • Shiny でインタラクティブなアプリを構築したり、RMarkdown でレポートを生成したりする場合。
  • カスタムのデータサイエンスワークフロー向けに R パッケージを開発または拡張する場合。

主な機能

  • tidyverse の関数(例:フィルタリングや変数の変更に使う dplyr)を使ってデータフレームを操作します。
  • レイヤー、テーマ、ファセットを含む ggplot2 のプロットを生成します。
  • base R や、回帰分析に使う lm() などのパッケージで統計モデリングを行います。
  • コードチャンクや出力を含む、再現可能なレポート用の RMarkdown ドキュメントを作成します。
  • インタラクティブなダッシュボード向けの Shiny アプリを開発し、devtools を使ってパッケージを開発します。
  • CSV の読み込みやデータベースへの接続など、データサイエンスのパイプラインと連携します。

使用パターン

エージェントのコマンドでは、R コードの前に必ずスキル ID「coding-r」を付けます。例:「coding-r を使ってデータを読み込み、プロットしてください」。応答ではコードブロックを使って呼び出し、スクリプトが単独で実行できるようにします。複数ステップのタスクは関数に分割します。まずライブラリを読み込み、次にデータを処理し、最後に結果を出力します。複雑なワークフローには R スクリプト(.R ファイル)を使い、source("script.R") で呼び出します。パッケージの API キーなど、環境変数が必要な場合は、コードを実行する前に Sys.setenv(API_KEY = "$MY_API_KEY") のように設定します。

主なコマンド/API

  • tidyverse の読み込み:library(tidyverse) に続けて、df <- read_csv("data.csv") %>% filter(column > 10) を実行します。
  • ggplot の作成:library(ggplot2); ggplot(df, aes(x=var1, y=var2)) + geom_point() + theme_minimal()。
  • 統計モデリング:model <- lm(y ~ x, data=df); summary(model)。
  • RMarkdown の基本:.Rmd ファイルの先頭に --- title: "Report" output: html_document --- を記述し、続けて {r} print(summary(df)) のようなコードチャンクを追加します。
  • Shiny アプリのひな形:library(shiny); ui <- fluidPage(); server <- function(input, output) {}; shinyApp(ui, server)。
  • パッケージ開発:devtools::create("mypackage") で初期化し、続けて R/ フォルダーに関数を追加します。

統合に関する注意

rpy2 で Python に埋め込む(例:import rpy2.robjects as robjects; robjects.r('library(tidyverse)'))、または reticulate で Python と R を連携させることで、R コードをより大きなワークフローに統合できます。ウェブサービスでは、Shiny アプリを Shiny Server または shinyapps.io にデプロイし、認証用の $SHINY_API_KEY などの環境変数を設定します。パラメーターには設定ファイル(例:YAML)を使用します。config.yml を作成して api_key: $MY_API_KEY を記述し、R で yaml::yaml.load_file("config.yml") を使って読み込みます。R のバージョン互換性(例:>=4.0)を確認し、実行前に install.packages(c("tidyverse", "ggplot2")) で依存関係をインストールします。

エラー処理

堅牢なコードには tryCatch() を使います。例:tryCatch({ result <- lm(y ~ x, data=df) }, error = function(e) print(paste("Error:", e)))。if (!require(tidyverse)) install.packages("tidyverse") で、必要なパッケージが不足していないか確認します。NA 値などのデータの問題は、処理の前に df <- df %>% drop_na() のように対処します。Shiny では shiny::runApp(launch.browser=TRUE) でデバッグし、options(shiny.error = recover) でエラーをログに記録します。入力は必ず検証します。例:if (is.null(df)) stop("Data frame is missing")。API 呼び出し(例:httr パッケージ)が失敗した場合は、httr::RETRY("GET", url, times=3) で再試行します。

具体的な使用例

  1. データ分析とプロット:CSV ファイルを分析して散布図を作成するには、次を使用します:library(tidyverse); library(ggplot2); df <- read_csv("data.csv"); ggplot(df, aes(x=age, y=income)) + geom_point() + labs(title="Age vs Income")。データを読み込み、必要に応じてフィルタリングし、プロットを出力します。

  2. RMarkdown での統計モデリング:回帰レポートを作成するには、RMarkdown ファイルを作成します:--- output: html_document --- # Analysis ````{r} library(tidyverse); model <- lm(sales ~ advertising, data=df); summary(model) `````。rmarkdown::render("report.Rmd")` でレンダリングすると、結果を含む HTML 出力が生成されます。

グラフの関連性

  • 関連:ID: coding-python(統合ワークフロー向けのデータサイエンスクラスターを共有)
  • 関連:ID: coding-julia(統計モデリングとデータ分析で重複)
  • タグ経由で接続:「statistics」は data-analysis などの他のスキルと、「coding」クラスターは一般的なプログラミングツールと接続

コメント