2011-09-09 14 views
6

मैं इस बारे में नहीं सोच सका कि सवाल क्या होना चाहिए था, अगर आपके पास यह सुझाव है कि यह क्या होना चाहिए तो कृपया मुझे बताएं।अपनी स्क्रिप्ट/दस्तावेज़ फ़ाइल से डेटा फ्रेम में स्पेस सीमांकित डेटा को कैसे पढ़ा जाए?

मैंने डेटा वर्क में डेटा पढ़ने के तरीके से पहले देखा है जो आपकी वर्किंग स्क्रिप्ट फ़ाइल में टैब्ड या व्हाइट स्पेस है।

dat <- SOMETHING(
person1 12 15 
person2 15 18 
person3 20 14 
) 

आप किसी वेबसाइट से डेटा हथियाने रहे हैं कहो और बस तालिका के लिए कुछ चीजें चाहते हैं, और यह आदि मैं एक पाठ फ़ाइल खोलने के लिए और इसे सहेजें और फिर सकता है सफेद स्थान के साथ इस तरह से आता है: उदाहरण के लिए read.table या csv साथ समान है, लेकिन मुझे यकीन है कि मैं इस तरह से पढ़ने के डेटा को देखा है और नहीं करने के लिए मुझे के जीवन याद कैसे कर सकते हैं हूँ ...

धन्यवाद

उत्तर

14

"चाल" एक है पाठ फ़ाइल को पढ़ने के लिए "फ़ाइल" तर्क के रूप में .टेबल:

dat <- read.table(textConnection("person1 12 15 
person2 15 18 
person3 20 14"), stringsAsFactors=FALSE 
) 
str(dat) 
'data.frame': 3 obs. of 3 variables: 
$ V1: chr "person1" "person2" "person3" 
$ V2: int 12 15 20 
$ V3: int 15 18 14 

डिफ़ॉल्ट 'सीपी' तर्क व्हाइटस्पेस अलगाव के लिए काम करता है। यदि आपको टैब को अलग करने की आवश्यकता है तो sep = "\ t" (textConnection कॉल से समापन-पैर के बाद) का उपयोग करें।

संपादित करें: यह वास्तव में अंतर्निहित scan फ़ंक्शन के बाद के संशोधन में शामिल हो गया है जिसे 'टेक्स्ट'-तर्क दिया गया था। कोड अब बस हो सकता है:

dat <- read.table(text="person1 12 15 
    person2 15 18 
    person3 20 14", stringsAsFactors=FALSE 
    ) 

readLines समारोह अभी भी, textConnection के उपयोग की आवश्यकता एक 'character'-वस्तु से पढ़ने के लिए के बाद से यह scan उपयोग नहीं करता।

+0

टेक्स्ट कनेक्शन! बहुत सराहना की। – nzcoops

+0

यह उत्तर थोड़ा पुराना है, क्योंकि टेक्स्ट स्कैन 'स्कैन' के लिए है, जो अब सभी 'read। *' फ़ंक्शंस में पास हो जाता है, 'textConnection' की आवश्यकता को प्रतिस्थापित करता है। किसी कारण से आर poobahs ने 'readLines' के लिए एक पाठ तर्क नहीं जोड़ा है, तो आपको अभी भी पाठ की आपूर्ति करने के लिए 'textConnection' की आवश्यकता होगी –

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