2013-09-26 7 views
5

मैं एक 700mb .dta Stata 2.8 करोड़ टिप्पणियों और 14 स्तंभ चरSTATA आयात करने के लिए .dta आर में दाखिल memisc का उपयोग

साथ फाइल जब मैं foreign's read.dta() फ़ंक्शन मैं चलाने का उपयोग कर अनुसंधान में आयात करने का प्रयास किया है मेरी 8 जीबी मशीन पर रैम से बाहर (पृष्ठ आउट बहुत जल्दी जीबी में शूट)।

staph <- read.dta("Staph_1999_2010.dta") 

मैं चारों ओर का शिकार किया और यह लग रहा है एक अधिक कुशल विकल्प की तरह memisc package से Stata.file() फ़ंक्शन का उपयोग करने के लिए होगा।

जब मैं फोन:

*** caught segfault *** 
address 0xd5d2b920, cause 'memory not mapped' 

Traceback: 
1: .Call("dta_read_labels", bf, lbllen, padding) 
2: dta.read.labels(bf, len.lbl, 3) 
3: get.dictionary.dta(dta) 
4: Stata.file("Staph_1999_2010.dta") 

मैं() Stata.file के लिए दस्तावेज़ का पालन करने के लिए मुश्किल लगता है:

staph <- Stata.file("Staph_1999_2010.dta") 

मैं एक segfault मिलता है।

(1) क्या मैं Stata.file() का उपयोग कर रहा हूं?

(2) Stata.file() read.dta() करता है जैसे डेटाफ्रेम लौटाता है?

(3) यदि मैं Stata.file() सही तरीके से उपयोग कर रहा हूं, तो मैं जो त्रुटि प्राप्त कर रहा हूं उसे ठीक कैसे कर सकता हूं?

+0

अधिक स्मृति खरीदें। अंगूठे का सामान्य नियम यह है कि आपको अपनी सबसे बड़ी वस्तु के रूप में 3 गुना अधिक स्मृति की आवश्यकता है, इसलिए 28 * 14 * 10 * 3 = 11760 तो आपके पास उस आकार की वस्तु के साथ उत्पादक वोक के लिए 16 जीबी होना चाहिए (सिस्टम की आवश्यकता के अनुसार स्मृति जो शायद कई gigs ले जाएगा। –

+0

धन्यवाद, मैं उन विकल्पों पर विचार करूंगा लेकिन यह पता लगाना चाहूंगा कि Stata.file() – ptjetty

+0

का उपयोग कैसे करें I 100g dta फ़ाइल – ptjetty

उत्तर

0

स्टाटा तक पहुंच के साथ, stata में .dv को .csv निर्यात करने का एक समाधान। आर में

use "file.dta" 

export delimited using "file.csv", replace 

और फिर आयात read.csv या data.table::fread का उपयोग कर।

अन्य उपाय:

  • Stata Stata के
  • Stata compress में sample का उपयोग कर डेटा का एक सा नमूना पर विचार प्रकार बदलकर एक क्षतिरहित संपीड़न का प्रयास (नहीं
    यकीन है कि यह बहुत .csv के लिए बचत होगी और आर हालांकि)।
  • यदि संभव हो तो किसी दिनांक या स्ट्रिंग आईडी को पूर्णांक में परिवर्तित करके डेटा को तंग करें।
  • एक बार आयात, और प्रारंभिक सफाई के लिए एक बादल उदाहरण का प्रयोग करें, नमूना या केवल महत्वपूर्ण हिस्सा
  • अधिक रैम जाओ रखने से पहले ...
संबंधित मुद्दे