Sunday, 15 March 2015

datetime - Why is parsing "%Y-%m" using strptime in R giving an NA result, but "%Y-%m-%d" works? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 8 जवाब

मुझे एक परिणाम मिल रहा है मैं आर में नहीं समझता हूं।

यदि मैं एक वर्ष और दिन स्वरूपित% Y-% m (जैसे "2009-12") के साथ strptime का उपयोग करता हूं, तो मुझे एक एनए मिलता है परिणाम। लेकिन अगर मैं एक दिन जोड़ता हूं, जैसे "2009-12-01", और इसके अनुसार प्रारूप स्ट्रिंग बदलता हूं, मुझे परिणाम मिलता है। उदाहरण:

  & gt; स्ट्रिपटाइम ("2009-12", प्रारूप = "% Y-% m") [1] एनए & gt; स्ट्रिपटाइम ("2009-12-03", प्रारूप = "% Y-% m-% d") [1] "2009-12-03"  

ऐसा क्यों है?

अपडेट: मैं जिस चीज़ के बारे में उत्सुक हूँ वह है क्यों एक साल और एक महीने में स्ट्रेटटाइम का विश्लेषण नहीं होता है, और इसका कारण यह अजीब लगता है कि यह ऐसा नहीं करेगा क्योंकि यह करता है केवल एक वर्ष का विश्लेषण करता है, या एक वर्ष और एक दिन:

  & gt; स्ट्रिपटाइम ("200 9", प्रारूप = "% Y") # वर्ष केवल काम करता है। वर्तमान माह और दिन का उपयोग डिफ़ॉल्ट रूप से करता है [1] "2009-12-02" & gt; स्ट्रिपटाइम ("2009-03", प्रारूप = "% Y-% d") # वर्ष और दिन। काम करता है। वर्तमान माह को डिफ़ॉल्ट रूप से उपयोग करता है [1] "2009-12-03" & gt; स्ट्रिपटाइम ("2009-03", प्रारूप = "% Y-% m") # वर्ष और महीने। काम नहीं करता है ? [1] एनए  

यह समझाने के लिए अद्यतन क्यों डुप्लिकेट नहीं है इस प्रश्न के बाद संभावित डुप्लिकेट को कुछ वर्षों से पूछा गया और यह एक अलग एपीआई में आर : asDate फ़ंक्शन। यह प्रश्न, rptime फ़ंक्शन के उद्धरण के बारे में है जो कि R 3.1.3 के रूप में भी लागू होता है।

यह मेरे लिए समझदार व्यवहार जैसा लगता है जैसा कि मैंने इसे देखा, एक बेहतर सवाल होगा "यह आपको यह करने की अनुमति क्यों देता है: स्ट्रिपटाइम (" 2009-03 ", प्रारूप ="% Y-% d ") ?"

मुझे लगता है कि आप क्या हासिल करने की कोशिश कर रहे हैं (एक निर्दिष्ट महीने और वर्ष के साथ एक पॉसिक्सलट ऑब्जेक्ट अर्थात्, लेकिन आज के दिन):

  as.POSIXlt (पेस्ट) ("2009-12", दिन (Sys.Date ()), sep = "-"))  

No comments:

Post a Comment