में विशिष्ट लाइनों को कुशलता से पढ़ना मुझे आश्चर्य है कि बड़ी फ़ाइल (11 जीबी +) से किसी विशिष्ट रेखा में पढ़ने के लिए आर कितनी देर लगती है। उदाहरण के लिए:बड़ी फ़ाइलों से आर
> t0 = Sys.time()
> read.table('data.csv', skip=5000000, nrows=1, sep=',')
V1 V2 V3 V4 V5 V6 V7
1 19.062 56.71047 1 16 8 2006 56281
> print(Sys.time() - t0)
Time difference of 49.68314 secs
ओएसएक्स टर्मिनल तत्काल एक विशिष्ट रेखा वापस कर सकता है। क्या किसी को आर में एक और अधिक कुशल तरीका पता है?
यह अक्षम है क्योंकि 'read.table' कॉल' readLines (फ़ाइल, छोड़ें) 'जो वास्तव में रेखाओं को पार करता है और आर में पढ़ता है, फिर उन्हें फेंक देता है। अधिक कुशल होने के लिए मुझे लगता है कि आपको कुछ सी कोड सही करना होगा, जब तक आप पर्याप्त न्यूलाइन नहीं देखते हैं (और आपको तेजी से बफरिंग का उपयोग करने की आवश्यकता होगी) – hadley