ウェブサイト検索

GNU Rで基本的なパッケージを構築する


紹介

他の人とコードやデータを共有したいのか、それとも単にコードを簡潔にまとめたいのかにかかわらず、GNU Rでカスタムパッケージを構築する能力があなたにとって役立つかもしれません。この記事では、Rで基本的なパッケージを構築するプロセスをできるだけ明確に説明します。これは、Rパッケージの構築に関するより高度な知識を含みません。ただし、このチュートリアルはあなたを開始させるでしょう。また、Rパッケージの使用に慣れていない場合は、「GNU Rでのパッケージのインストールと使用方法」が役立つかもしれません。

パッケージ構造の作成

すべてのパッケージは、共通の目的に基づいて適用される関数のセットで構成されています。さらに、Rのパッケージには、サンプルデータが提供されることがよくあります。では、シンプルな例を提案しましょう。以下に、2つの関数div()とpow()、および2つのベクトルdata1とdata2の形で2つのデータセットを定義しました。

> div<-function(a,b) a/b
> pow<-function(a,b) a^b
> data1<-c(1,4)
> data2<-c(7,2)

Rにおけるパッケージの構造(テンプレート)は、以下に示すように関数package.skeleton()を実行することで簡単に取得できます。引数として、以前に定義されたRオブジェクトのリストと新しく作成されたパッケージの名前を渡します。

> package.skeleton(list=c("div","pow","data1","data2"), name="exampleRpackage")
Creating directories ...
Creating DESCRIPTION ...
Creating NAMESPACE ...
Creating Read-and-delete-me ...
Saving functions and data ...
Making help files ...
Done.
Further steps are described in './exampleRpackage/Read-and-delete-me'.

その結果、Rパッケージのディレクトリおよびファイル構造が作成されました。すべての関連ファイルとディレクトリは、指定されたパッケージの名前が付けられたexampleRpackageというディレクトリ内に置かれていました。

2つのベクターサンプルデータは ./exampleRpackage/data/ ディレクトリに配置され、関数定義は ./exampleRpackage/R/ にあります。 ./exampleRpackage/man/ ディレクトリには、定義されたオブジェクトおよびパッケージ全体に対応するテンプレートマニュアルが含まれており、それ自体が説明的です。また、DESCRIPTIONファイルも作成されました。このファイルには、パッケージのバージョン、作成日など、すべての重要なパッケージ情報が含まれています。つまり:

Package: exampleRpackage
Type: Package
Title: What the package does (short line)
Version: 1.0
Date: 2013-02-15
Author: Who wrote it
Maintainer: Who to complain to <yourfault@somewhere.net>
Description: More about what it does (maybe more than one line)
License: What license is it under?

パッケージの確認と構築

基本パッケージが作成されると、それをチェックしてビルドする必要があります。これは、Linuxのコマンドラインから R CMD check および R CMD build コマンドを使用して行うことができます。つまり:

R CMD check exampleRpackage

そして

R CMD build exampleRpackage

ビルドコマンドは、インストールの準備が整ったexampleRpackage_1.0.tar.gzを返します。

結論

Rでパッケージを作成し構築することは、このチュートリアルで説明されている単純な例よりもはるかに複雑な場合があります。パッケージを作成する際に対処しなければならない問題や慣習がいくつかあります。このチュートリアルは、自分自身の使用のためにパッケージを作成する手助けをします。CRANにパッケージを構築して提出するためには、Rの慣習についてより詳細に学ぶ必要があります。Rでパッケージを作成するための包括的なガイドとして、「Writing R Extensions」を参照しています。

GNU R チュートリアルシリーズ:

パートI: GNU R入門チュートリアル:

  1. LinuxオペレーティングシステムにおけるGNU Rの入門
  2. Linuxオペレーティングシステム上でGNU Rを実行する
  3. 基本的な操作、関数、およびデータ構造に関する簡単な GNU R チュートリアル
  4. 統計モデルとグラフィックスに関する簡単なGNU Rチュートリアル
  5. GNU Rでパッケージをインストールし、使用する方法
  6. GNU Rで基本的なパッケージを構築する

第II部: GNU R言語:

  1. GNU Rプログラミング言語の概要

関連記事: