2011-09-07 10 views
5

stringsAsFactorsR में पठनीयता की सहायता के लिए पूंजी अक्षरों का उपयोग क्यों करें जब अधिकांश अन्य आदेश . (उदा।, as.factor) का उपयोग करने लगते हैं?आर स्ट्रिंग्सएफ़ैक्टर्स 'आर में पठनीयता के लिए पूंजी अक्षरों का उपयोग क्यों करता है?

क्या यह एक idiosyncrasy या आदेशों के उच्च संगठनात्मक का हिस्सा है जिसे मैं परिचित नहीं हूं?

क्या भविष्यवाणी करने का कोई तरीका है कि कौन से आदेश पूंजी अक्षरों का उपयोग करेंगे और . का उपयोग करेंगे?

धन्यवाद

+1

आपको उन कार्यों को लिखने वाले आर-कोर सदस्य से पूछना होगा। यह दस्तावेज नहीं है क्यों कुछ फ़ंक्शन camelCase का उपयोग करते हैं, कुछ under_scores का उपयोग करते हैं, और कुछ "।" (एस 3 विधियों के अलावा)। –

+0

कभी-कभी '_' को विभाजक के रूप में भी प्रयोग किया जाता है, बस इसे और भी भ्रमित करने के लिए। –

+0

मुझे लगता है कि यह जोर देने योग्य है कि 'स्ट्रिंग्सएफ़ैक्टर्स' एक ** तर्क ** नाम और 'as.factor()' एक फ़ंक्शन नाम है। –

उत्तर

3

idiosyncrasies का एक बहुत एस भाषा और कार्यान्वयन के साथ संगतता से विरासत की वजह से उत्पन्न था कोई मानक स्थापित किया गया है एस प्लस में। एस 3 विधियों के साथ भ्रम से बचने के लिए . को विभाजक के रूप में शामिल करने वाले नामों के साथ नए कार्यों से बचने के लिए हाल के वर्षों में एक प्रवृत्ति रही है। पिछली संगतता और एस/एस प्लस दिनों से कार्यों के प्रति वफादार होने की इच्छा के कारण यह पीछे से नहीं बदला गया है।

_<- के विकल्प के रूप में बहिष्कृत किया गया था, कुछ लेखकों ने इसे फ़ंक्शन नामों में उपयोग किया है; उदाहरण हैडली विकम के पैकेज हैं, लेकिन बहुत सारे लोग हैं।

सख्ती से पालन किए गए मानक की कमी भ्रमित हो सकती है, और निश्चित रूप से सीखने की अवस्था में जोड़ती है, लेकिन ऐसा कुछ है जिसके साथ आपको रहना है।

4

यह स्पष्ट है - इससे पहले कि बहुत देर हो चुकी है ;-)

2

तथाकथित 'ऊंटकेस' एक अच्छी पसंद है।

हैडली के अलावा, कुछ अंडरस्कोर की सलाह देते हैं। उदाहरण के लिए देखें Google R Style Guide जो कहता है:

पहचानकर्ताओं में अंडरस्कोर (_) या हाइफ़न (-) का उपयोग न करें।

आर अपने आप में एक शैली लागू नहीं करता है, लेकिन (heuristically बोल) के रूप में यह भी S3 तरीकों के लिए प्रयोग किया जाता है नहीं भी कई नए मुख्य लाइब्रेरीज एक बिंदु का उपयोग या तो पहचानकर्ता में एक विभाजक के रूप में।

+0

हाइफ़न अंडरस्कोर से भी बदतर हैं। उत्तरार्द्ध एक स्टाइलिस्ट पसंद है, पूर्व को हुप्स के माध्यम से कूदने के बिना भी इस्तेमाल नहीं किया जा सकता है (बैकटिक्स के साथ प्रतीक नामों की रक्षा करना)। –

+0

मैं समझ सकता हूं कि '-' का उपयोग नहीं कर रहा है क्योंकि यह "वाक्य रचनात्मक रूप से सक्रिय" है लेकिन अंडरस्कोर का बहिष्करण उचित नहीं लगता है। (मुझे पता है कि यह आपकी सलाह नहीं थी, लेकिन आप इसे दोहरा रहे हैं।) लाभ जो मुझे अंडरस्कोर प्रदान करता है वह यह है कि मेरे संपादन वातावरण में एक डबल-क्लिक अंडरकोर्स के साथ सभी नामों का चयन करता है, लेकिन "।" पर टूट जाता है। –

+0

मैं आप में से किसी के साथ असहमत नहीं हूं, और वास्तव में हाइफ़न के बारे में कुछ भी नहीं कहता - जो स्पष्ट रूप से ** वास्तव में ** खराब हैं। लेकिन मेरी छोटी दुनिया में (और, प्रतीत होता है, Google की भी) में अंडरस्कोर भी बहुत बुराई के रूप में देखा जाता है। और वह मेरा मुद्दा था। –

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