आर [बंद] में सांख्यिकीय विश्लेषण के लिए बस डेटा स्टोर करने का सबसे अच्छा तरीका


12

मैं कुछ समय से बिना किसी समस्या के आर के लिए अपने डेटा को संग्रहीत करने के लिए पाठ फ़ाइलों का उपयोग कर रहा हूं। लेकिन हाल ही में एक परियोजना के लिए कच्चे पाठ फ़ाइलों को संभालने के लिए फ़ाइलों का आकार बहुत बड़ा हो रहा है। सबसे अच्छा सरल विकल्प क्या है?


5
किस तरह से टेक्स्ट फाइलें बहुत बड़ी हो रही हैं? क्या आप उनकी सत्यनिष्ठा से डरते हैं? उन्हें किसी अन्य सॉफ़्टवेयर में खोलने में सक्षम नहीं है? क्या वे लोड करने में बहुत धीमी हैं? आपके हार्ड ड्राइव (लैपटॉप?) के लिए बहुत बड़ा है?
गला

3
डेटा के विश्लेषण के रूप में +1 प्रबंध डेटा डेटा विश्लेषण में एक सार्वभौमिक मुद्दा है (और शायद ही विशिष्ट है R)। मौलिक चिंता फ़ाइल आकार के बजाय डेटा अखंडता के साथ है: संपीड़न के कुछ प्रकार का प्रस्ताव केवल इसे हल करने के बजाय इसे अस्पष्ट करता है।
whuber

एक निश्चित आकार के ऊपर txt अभी काम नहीं करता है। मैं अतिरिक्त डेटा को txt फ़ाइल में जोड़ सकता हूं और इसे R में लोड कर सकता हूं, लेकिन अतिरिक्त डेटा R में नहीं है। (Btw डेटा बहुत समृद्ध है, जबकि सम्पीडन थोड़ी मदद कर सकती है, इससे मुझे वह दूर नहीं मिलेगा और मैं शक के रूप में मेरी परियोजना बढ़ती है मैं फिर से एक ही मुद्दों के साथ खत्म हो जाएगा।)
खिलौना मोल्टो

आपको हमें अपने डेटा के बारे में अधिक बताने की आवश्यकता है, "किसी भी प्रकार के डेटा का सबसे अच्छा तरीका" जैसी कोई चीज नहीं है।
zx8754

क्या आपका मतलब है कि read.tableया read.csvचुपचाप असफल हो रहे हैं? क्या आप पूरी तरह सुनिश्चित हैं कि आपके पास कई फाइलें पड़ी नहीं हैं और कुछ कोडिंग त्रुटि (गलत पथ, गलत फ़ाइल नाम, आदि) है? बस विचारों को ठीक करने के लिए, आप हमें यह भी अनुमान देना चाह सकते हैं कि आप लगभग कितने चर और कितने अभिलेखों के साथ काम कर रहे हैं।
गाला

जवाबों:


10

मानक आर दृष्टिकोण का उपयोग करना है saveऔर load। यदि आप saveइसे आयात और एनोटेट करने के बाद अपने डेटा फ़्रेम पर चलते हैं , तो आप निर्दिष्ट कर सकते हैं compress=TRUEऔर आप संपीड़न और तेज़ loadसमय पर चकित होंगे । यह विशेष रूप से अच्छी तरह से काम करता है यदि ऑब्जेक्ट का आकार लगभग 400MB से कम है। अन्यथा, उपरोक्त सुझावों में से कुछ की जाँच करें, या ffआर में शक्तिशाली पैकेज।

Hmiscपैकेज थोड़ा रैपर है Saveऔर Loadइसके बाद के संस्करण और भी अधिक दर्द रहित बनाने के लिए:

mydata <- csv.get(...)  # Hmisc package, has several options
Save(mydata)   # writes mydata.rda to current working directory
....
Load(mydata)   # reads mydata.rda and creates mydata data frame

9

SQLite3 डेटाबेस पर एक नज़र डालें। प्रत्येक डेटाबेस एक फ़ाइल है, इसलिए इसे डेटाबेस सर्वर स्थापित करने की आवश्यकता नहीं है।

डेटाबेस बनाने के लिए:

$ sqlite3 my_db.db3
> CREATE TABLE my_table ( col1 TEXT );

R, https://gist.github.com/lynaghk/1062939 के साथ उपयोग के लिए


+1 वास्तविक डेटाबेस का उपयोग करना सही दिशा में एक बहुत बड़ा कदम है।
whuber

क्या यह उपयुक्त उपकरण होगा? cran.r-project.org/web/packages/RSQLite/index.html
EngrStudent

धन्यवाद, मैं इस मार्ग की कोशिश करूंगा। मैंने MySQL को भी देखा, लेकिन लगता है कि मैं जरूरत से ज्यादा हूं।
खिलौना मोल्टो

4

कई सामान्य विकल्प हैं।

  • आप पाठ को संक्षिप्त कर सकते हैं।
  • आप पाठ पर बाइनरी जा सकते हैं, एससीआई में नहीं लिख सकते हैं

महान संपीड़न डेटा निर्भर है।

मेरा अनुमान (और आपने निर्दिष्ट नहीं किया इसलिए मुझे अनुमान लगाना चाहिए) यह है कि आप स्प्रैडशीट-जैसे डेटा को csv (अल्पविराम-सीमांकित) के अलावा किसी अन्य चीज़ में संग्रहीत करना चाहते हैं।

मेरे पसंदीदा स्वरूपों में से एक (मुझे माटलैब पसंद है) एचडीएफ है।

एचडीएफ के बारे में आर-संबंधित जानकारी यहां दी गई है:

यह एक उच्च-घनत्व सुपरकंप्यूटिंग डेटा स्टोरेज प्रारूप है। यह बहुत तेज और कुशल हो सकता है। यह ज़िपित पाठ की तुलना में (अस्वाभाविक रूप से) सघन भी है।


3

आर में मानक फ़ाइल रीडिंग फ़ंक्शंस अब स्वचालित रूप से आसानी से gzipped फ़ाइलें पढ़ेंगे। तो, बस अपने डेटा पर सरल gzip संपीड़न चलाएं और हमेशा की तरह पढ़ें, जैसे कि यह एक सादा पाठ था।

read.table('myfile.gz')

साफ! मैं नहीं जानता था कि। धन्यवाद।
EngrStudent
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.