tmPlot
の関数を使用するパッケージがありますが、関数treemap
を使用しようとすると、依存関係の 1 つが読み込まれていないというエラーがスローされます。
Error in tmPlot(data, index = index, vSize = vSize) :
could not find function "brewer.pal"
依存関係がインストールされ、名前空間に配置されます。
この質問には、パッケージの問題であるセットアップが少しありますが、できるだけ最小限にしようとしました:
treemap
(およびそのすべての依存関係) がインストールされていることを確認します。
「anRpackage」というディレクトリを作成しました。その中には、フォルダー ('R') と、次のテキストを含む記述ファイルがあります。
Package: anRpackage
Title: What the package does (short line)
Version: 1.0
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?
Imports:
treemap
Collate:
'maketree.R'
R/ フォルダー内には、'maketree.R' という単一の R ファイルがあります。その内容は次のとおりです。
#' maketree
#'
#' @importFrom treemap tmPlot
#' @export maketree
maketree <-
function(data, index, vSize){
tmPlot(data, index=index, vSize=vSize)
}
「anRpackage」の上のディレクトリにいると仮定して、次のスクリプトを実行します。
library(roxygen2)
roxygenise("anRpackage/")
library(devtools)
build("anRpackage")
install("anRpackage")
R を (できれば --vanilla を使用して) 再起動し、次を実行します。
library(anRpackage)
data(mtcars)
maketree(mtcars, "cyl", "mpg")
最初に説明したエラーが表示されるはずです。なぜこれが起こるのですか?RColorBrewer
の Depends としてリストされているtreemap
ので、自動的にインポートされるはずですよね?