मैं एक csv जो प्रारूप में दिनांक तार के बारे में 2 लाख पंक्तियों में शामिल है:स्पीड अप रूपांतरण POSIX.ct को
2012/11/13 21:10:00
कॉल की सुविधा देता है कि csv$Date.and.Time
मैं इन तिथियों (और उनके साथ डेटा) को जितनी जल्दी हो सके xts में परिवर्तित करना चाहते हैं
मैंने एक स्क्रिप्ट लिखी है जो रूपांतरण को ठीक करता है (नीचे देखें), लेकिन यह बहुत धीमी है और मैं इसे गति देना चाहता हूंजितना संभव हो उतना ऊपर।
यहां मेरी वर्तमान पद्धति है। क्या किसी को यह तेजी से बनाने के बारे में कोई सुझाव है?
dt <- as.POSIXct(csv$Date.and.Time,tz="UTC")
idx <- format(dt,tz=z,usetz=TRUE)
तो स्क्रिप्ट POSIX.ct
करने के लिए इन तारीख तार बदल देता है। इसके बाद format
(z
का उपयोग कर एक टाइमज़ोन रूपांतरण करता है जो एक वैरिएबल है जिसे मैं परिवर्तित कर रहा हूं)। मैं फिर नियमित xts
कॉल करता हूं ताकि यह एक एक्सटीएस श्रृंखला को सीएसवी में शेष डेटा के साथ बनाया जा सके।
यह 100% काम करता है। यह बहुत ही धीमा है। मैंने इसे समानांतर में चलाने की कोशिश की है (यह कुछ भी नहीं करता है; अगर कुछ भी इससे खराब हो जाता है)। 'धीमी' से मेरा क्या मतलब है?
user system elapsed
155.246 16.430 171.650
यह 3 जीएचजेड, 16 जीबी रैम 2012 एमबी समर्थक पर है। मैं 32GB राम के साथ एक समान प्रोसेसर पर पर करीब आधे प्राप्त कर सकते हैं एक Win7 मशीन
मुझे यकीन है कि किसी को एक बेहतर विचार है हूँ - मैं Rcpp
के माध्यम से सुझाव के लिए खुले हूँ आदि हालांकि, आदर्श समाधान के साथ काम करता है किसी अन्य विधि की बजाय csv, जैसे डेटाबेस सेट करना। ऐसा कहकर, मैं यह करने के लिए कर रहा हूं कि सबसे तेज़ रूपांतरण देने के लिए कौन सी विधि जा रही है।
मैं किसी भी मदद की अत्यधिक सराहना करता हूं। अग्रिम में धन्यवाद।
क्या आप जानते हैं कि एक धीमा चीजें नीचे क्या है - 'as.POSIXct' चरण,' प्रारूप 'चरण या' xts' चरण? –
यदि आप फास्टटाइम की खोज करते हैं (जिसे आप डिर्क के उत्तर के बिना नहीं करना चाहते थे), तो आपको कुछ समान प्रश्न मिलेंगे [LINK1] (http://stackoverflow.com/questions/12898318/convert-character-to -डेट-जल्दी-इन-आर), [LINK2] (http://stackoverflow.com/questions/12786335/why-is-as-date-slow-on-a-character-vector) – GSee