मेरे पास एक पैकेज है जो treemap
से tmPlot
फ़ंक्शन का उपयोग करता है, लेकिन जब मैं फ़ंक्शन का उपयोग करने का प्रयास करता हूं, तो यह एक त्रुटि फेंकता है कि इसकी निर्भरताओं में से कोई एक लोड नहीं होता है:tmPlot नामस्थान में है, लेकिन इसकी निर्भरता
Error in tmPlot(data, index = index, vSize = vSize) :
could not find function "brewer.pal"
निर्भरता स्थापित है और नामस्थान में।
यह सवाल, सेटअप का एक छोटा सा है एक पैकेज समस्या जा रहा है, लेकिन मैं इसे के रूप में संभव के रूप में कम से कम करने की कोशिश की है:
सुनिश्चित करें कि आप treemap
(और उसके सभी निर्भरता) स्थापित किया है।
मैंने 'anRpackage' नामक एक निर्देशिका बनाई है। अंदर यह एक फ़ोल्डर ('आर') और निम्न पाठ वाली एक वर्णन फ़ाइल है:
Package: anRpackage
Title: What the package does (short line)
Version: 1.0
Author: Who wrote it
Maintainer: Who to complain to <[email protected]>
Description: More about what it does (maybe more than one line)
License: What license is it under?
Imports:
treemap
Collate:
'maketree.R'
आर/फ़ोल्डर के अंदर एक भी आर 'maketree.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")
पुनः प्रारंभ आर (अधिमानतः --vanilla के साथ) और रन निम्नलिखित:
library(anRpackage)
data(mtcars)
maketree(mtcars, "cyl", "mpg")
आपको त्रुटि मैं जैसा वर्णित मिलना चाहिए शुरू निंग। ऐसा क्यों होता है? RColorBrewer
को treemap
के रूप में सूचीबद्ध किया गया है, इसलिए इसे स्वचालित रूप से आयात किया जाना चाहिए, है ना?
कोशिश जोड़ने 'आयात RColorBrewer'। यह पैकेज स्वचालित रूप से 'treemap' द्वारा लोड नहीं किया जा सकता है या शायद यह करता है लेकिन पेड़ मानचित्र से केवल एक फ़ंक्शन को कॉल करना 'RColorBrewer' को कॉल नहीं करता है। –
@TylerRinker यह इतना नहीं है कि मुझे समस्या के लिए कोई फिक्स चाहिए (समस्या को आसानी से 'लाइब्रेरी (treemap)' जोड़कर ठीक किया जा सकता है)। यह और भी है कि मैं जानना चाहता हूं कि यह समस्या क्यों हो रही है, जब मेरी समझ से, ऐसा नहीं होना चाहिए। मुझे समझ में नहीं आता क्यों कुछ पैकेजों को मैन्युअल रूप से लोड करने की आवश्यकता है और दूसरों को नहीं। –