2013-02-14 11 views
78

नहीं पा सके इस सरल कोड निम्न त्रुटि देता है:त्रुटि: विषय सेटिंग्स को संशोधित करने का प्रयास करते समय समारोह "इकाई"

library(ggplot2) 
theme_nogrid <- theme_set(theme_update( 
        plot.margin=unit(c(.25, .25, .25, .25), "in"),)) 

Error in do.call(theme, list(...)) : could not find function "unit" 

R मुझे किसी भी तत्व 'इकाई' का उपयोग करता है के लिए इस त्रुटि देता है। कोई भी अन्य सेटिंग्स जो 'इकाई' को ठीक नहीं करती है, ठीक काम करती है। मैं आर v.2.1.2.2 (64-बिट विंडोज) चला रहा हूँ।

मैंने इस समस्या के बारे में ऑनलाइन खोज की और कुछ भी नहीं मिला। मैं समस्या के किसी भी सुझाव की सराहना करता हूं।

+27

'आवश्यकता (ग्रिड)' – Gregor

+4

ggplot2 अब इसे ग्रिड आयात करता है, इसे – baptiste

+1

लोड करने के विरोध में धन्यवाद! इसने काम कर दिया। – opv

उत्तर

74

यह बारीकी से संबंधित है, हालांकि वास्तव में करने के लिए, arrow() in ggplot2 no longer supported समान नहीं है, जो कहते हैं:

[the] grid [package] was loaded automatically by previous versions of ggplot[2] (making grid functions visible/accessible to the user); now it's referred to via NAMESPACE imports instead, so you need to explicitly load grid if you want to use grid functions (or [to] look at their help pages).

"स्पष्ट रूप से लोड" यहाँ का मतलब है library("grid") या require("grid") (grid एक आधार पैकेज है, इसलिए की जरूरत नहीं है अलग से स्थापित किया जाना चाहिए)।

unit()grid पैकेज से एक फ़ंक्शन है, इसलिए ऊपर दिया गया उत्तर (जो लगभग arrow() था) लागू होता है।

वैकल्पिक रूप से आप पूरे पैकेज को स्पष्ट रूप से लोड किए बिना grid::unit(...) या grid::arrow(...) निर्दिष्ट कर सकते हैं।

+0

निश्चित रूप से निकटता से संबंधित, कुछ तरीकों से 'विधियों' के साथ भी ऐसा हुआ। एक नज़र डालें: http://stackoverflow.com/questions/30266732/error-in-initfieldsscales-scales-could-not-find-function-initreffields/30292677 –

+0

इसलिए यह स्वीकार्य उत्तर होना चाहिए .. – tObi