2015-09-14 12 views
7

मैं sas7bdat पैकेज का उपयोग कर एक sas7bdat फ़ाइल लोड है, लेकिन तारीखों इस तरह की एक संख्या में बदल रही हैं: के रूप में उल्लेख heresas7bdat दिनांक स्वरूप

sas <- c(16922, 17045, 17014, 16983) 

मैं

rPOSIX <- as.POSIXct(sas,origin='1960-01-01') 

की कोशिश की लेकिन यह गलत है। मैं एसएएस के लिए उपयोग नहीं है, लेकिन तारीखों वर्ष 2006

+2

'as.Date (एसएएस, मूल =" 1960/01/01 ")' यह अच्छी तरह से काम करता है। – SabDeM

+1

POSIXct स्टोर मूल के बाद से सेकंड की संख्या के रूप में दिनांक। एसएएस तिथियां मूल के दिनों की संख्या हैं। यह विसंगति का स्रोत है। आप या तो 'as.Date' का उपयोग कर सकते हैं, या 'sas * 3600' (प्रति दिन 3600 सेकेंड) के साथ' as.POSIXct' का उपयोग कर सकते हैं। निजी तौर पर, मैं 'as.Date' का उपयोग करता हूं क्योंकि आपकी एसएएस तिथियां दूसरे के लिए विशिष्ट नहीं हैं। – Benjamin

+0

@SabDeM + बेंजामिन यह काम कर रहा है, धन्यवाद – spore234

उत्तर

9

के आसपास होना चाहिए मेरी पिछली टिप्पणी के रूप में, यहाँ एक काम उदाहरण है, जहां origin तर्क एक विशिष्ट एसएएस सेटिंग है, जो तय करता है की वजह से इस तरह सेट कर दिया जाता है 1960-01-01, here जानकारियां करने के लिए मूल की तारीख:

as.Date(sas, origin = "1960-01-01") 
[1] "2006-05-01" "2006-09-01" "2006-08-01" "2006-07-01" 
+0

मेरे पास एक अतिरिक्त सवाल है, शायद आप मेरी मदद कर सकते हैं: मेरे आर डेटा में क्वार्टर के लिए एक कॉलम है, लेकिन इसकी सीमा 6 से है -19 (जैसा कि आप अनुमान लगा सकते हैं 1-4 नहीं), मैं इस प्रारूप को कैसे परिवर्तित कर सकता हूं? मुझे कोई संकेत नहीं है कि इसकी गणना कैसे की जाती है और मूल सास डेटा नहीं पता है। – spore234

+0

@ spore234 मुझे खेद है, लेकिन मैं आपकी मदद नहीं कर सकता, शायद यह एक प्रकार का एसएएस विशिष्ट है (जैसे कि मेरे उदाहरण में 'मूल'), एक नया प्रश्न पूछने का प्रयास करें और कुछ डेटा को खेलने के लिए मत भूलना क्योंकि मेरे पास कुछ विचार हैं, शायद 'लुब्रिडेट' पैकेज के साथ। – SabDeM

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