2011-12-28 7 views
5

मैं किसी अन्य विश्लेषण प्रोग्राम से उत्पन्न फ़ाइलों में पढ़ने को स्वचालित करने की कोशिश कर रहा हूं।क्या आप read.table में कॉलम की संख्या निर्दिष्ट कर सकते हैं?

मानक आउटपुट आम तौर पर अंत में कैरिज रिटर्न के साथ रिक्त स्थान से अलग 6 कॉलम में होता है। यह "read.table" में "strip.white = TRUE" का उपयोग करके अच्छी तरह से पढ़ता है।

मुझे कोई समस्या है, हालांकि, बी/सी एक एनोटेशन को लाइन में जोड़ा जाता है यदि कोई पैरामीटर स्थिर के रूप में तय किया गया हो।
जोड़ना "फ्लश = TRUE" मुझे इन सामयिक टिप्पणियों पर छोड़ सकते हैं और में सब कुछ पढ़ने के लिए अनुमति देता है।

मैं करना चाहते हैं क्या है इन टिप्पणियों, जो केवल एक दिए गए फ़ाइल में एक बार हो सकता है है, रूप में जोड़ दिया एक 7 वां स्तंभ।

क्या कोई रीड-इन दृष्टिकोण है जो मुझे इस 7 वें कॉलम के साथ कॉलम की संख्या या के किसी अन्य तरीके को निर्दिष्ट करने की अनुमति देता है?

डेटा का एक टुकड़ा पाया जा सकता है here

डेटा कुछ ऐसा दिखाई:

columns_1&2 column_3 column_4 column_6 column_6 column_7  
84:S 0:dorm 1.0000000 0.11E-005 0.9999979 1.0000021       
85:p N:veg 1.0000000 0.0000000 1.0000000 1.0000000 Fixed    
86:p 0:dorm 0.260E-08 0.237E-05 -0.03E-05 0.46E-005 

उत्तर

9

तो अपने कॉलम के सभी के रूप में बड़े करीने से अगर यह एक है जुड़ा हुआ उदाहरण में किन (यानी के रूप में व्यवस्थित कर रहे हैं

df <- read.fwf(file = "http://dl.dropbox.com/u/54791824/SO_data_frag.txt", 
       widths = c(8, 7, 29, 15, 16, 16,1000)) 

head(df,4) 
     V1  V2 V3   V4  V5  V6   V7 
1 82:S 0:dorm 1 1.625420e-06 0.9999968 1.000003      
2 83:S 0:dorm 1 1.083245e-06 0.9999979 1.000002      
3 84:S 0:dorm 1 1.081771e-06 0.9999979 1.000002      
4 85:p N:veg 1 0.000000e+00 1.0000000 1.000000 Fixed 

संपादित करें: वैकल्पिक रूप से, जम्मू के रूप में "निश्चित-चौड़ाई फ़ाइल"), तो यह read.fwf() के लिए एक नौकरी है ओरान टिप्पणी में बताते हैं, आप fill=TRUE विकल्प के साथ read.table() इस्तेमाल कर सकते हैं:

df2 <- read.table(file = "http://dl.dropbox.com/u/54791824/SO_data_frag.txt", 
        fill = TRUE, 
        col.names=paste("column", 1:7, sep="_") 
+3

@NBrouwer मुझे लगता है कि आप भी 'सेट कर सकते हैं = TRUE' भरने और सीधे col.names' का उपयोग कर' स्तंभ नाम निर्दिष्ट करें। – joran

+0

@ जोरन - अन्य/बेहतर विकल्प का उल्लेख करने के लिए धन्यवाद। मैंने इसे ऊपर हाइलाइट किया है। –

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

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