2013-08-07 23 views
8

में एक कस्टम स्टेट वस्तु बनाना मैं ggplot2 के लिए एक कस्टम स्टेट वस्तु बनाने के लिए करना चाहते हैं। (विशेष रूप से मैं एक y~x मॉडलिंग समारोह के बिना एक चिकनी कि लोगों को उदाहरण के लिए stat_smooth allows- तुलना में अलग तरह से काम करता है, बनाना चाहते हैं, लेकिन वहाँ अन्य कस्टम आँकड़े मैं होगा कि मेरे विशेष मामले के लिए एक समाधान के थे भी बनाना चाहते हैं, कर रहे हैं)।ggplot2

मैं this suggested solution from Hadley Wickham पाया:

StatExpo <- proto(Stat, { 
    objname <- "expo" 
    desc <- "Exponential smoothing" 
    default_geom <- function(.) GeomLine 

    calculate_groups <- function(., data, scales, variable="x", ...) { 
    data$y <- HoltWinters(data$x, ...) 
    } 
}) 
stat_expo <- StatExpo$new 

हालांकि, जब मैं यह कोशिश मैं:

Error in proto(Stat, { : object 'Stat' not found 

ggplot code चारों ओर देख पर, मैंने where Stat is defined पाया। हालांकि, Stat वस्तु, जहाँ तक मैं बता सकता हूँ, never exported from ggplot2 है।

मैं ggplot2/R फ़ोल्डर में अपनी नई स्टेट ऑब्जेक्ट लिख सकता हूं और फिर पैकेज को पुनर्स्थापित कर सकता हूं, लेकिन जाहिर है यह बोझिल होगा और समाधान दूसरों के साथ साझा करना बहुत कठिन होगा। मैं ggplot नेमस्पेस के बाहर एक कस्टम स्टेट ऑब्जेक्ट कैसे बना सकता हूं?

+0

'ggplot2 ::: Stat' मदद करता है? – baptiste

+0

@baptiste नहीं, 'त्रुटि: 'स्टेट' है नहीं से 'नाम स्थान एक निर्यात वस्तु: ggplot2''। क्या यह आपके लिए काम करता है? –

+0

यह तीन के साथ 'काम करता है :::' – baptiste

उत्तर

4

ggplot2:::Stat गैर निर्यात वस्तु का उपयोग करने के लिए इस्तेमाल किया जा सकता है।

+2

की आवश्यकता :: :: दुर्भाग्यवश, CRAN को सबमिट किए जाने वाले पैकेज में उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन को शामिल करने से रोक देगा। सीआरएएन चेक :: :: की अनुमति नहीं देते हैं। –

 संबंधित मुद्दे