2011-04-06 15 views
46

मैं आर संकुल को लोड करने के लिए की जरूरत में एक ही नाम के साथ 2 कार्य: टी-सीरीज़ और chronआर: 2 अलग संकुल

दोनों एक समारोह is.weekend नाम दिया

मैं हमेशा अपने पर्यावरण समारोह में है लोड किए गए दूसरे पैकेज से।

मैं हमेशा से कार्य को कैसे एक्सेस कर सकता हूं, कहें, क्रॉन?

उत्तर

64

आपने शायद पहले से ही देखा है कि पैकेज लोड करने का क्रम एक फर्क पड़ता है, यानी पैकेज जो आखिरी बार लोड हो जाता है, पहले लोड किए गए पैकेजों में कार्यों को मुखौटा करेगा।

पैकेज है कि आप उपयोग करना चाहते हैं निर्दिष्ट करने के लिए, वाक्य रचना है:

chron::is.weekend() 
tseries::is.weekend() 

दूसरे शब्दों में, का उपयोग packagename::functionname()

इसके अलावा, यदि आप जानते हैं कि आप हमेशा समारोह का उपयोग करना चाहते जाएगा chron में, आप अपने खुद के समारोह के रूप में निम्नानुसार परिभाषित कर सकते हैं:

is.weekend <- chron::is.weekend #EDIT 
+3

'is.weekend <-chron :: is.weekend' के लिए tseries संस्करण या is.weekend.chron के लिए है .weekend कॉल कर सकते हैं। – mbq

+0

@mbq धन्यवाद, मैंने इसे प्रतिबिंबित करने के लिए अपना उत्तर संपादित किया है। – Andrie

+3

यहां प्रासंगिक नहीं है, इसलिए केवल इस धागे में भविष्य के संदर्भ के लिए: यदि फ़ंक्शन * निर्यात नहीं किया गया है (यानी आप एक विशिष्ट एस 3 विधि चाहते हैं और विधि निर्यात नहीं है लेकिन जेनेरिक है) तो ':::' ऑपरेटर है की आवश्यकता है। –

1
library(chron) 
is.weekend.chron <- is.weekend 
library(tseries) 

फिर आप chery संस्करण

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