2012-05-21 13 views
5

मैं प्रणाली आदेश का उपयोग कर रहा है आर में एक खोल स्क्रिप्ट चलाने के लिए पता है:आर में खोल स्क्रिप्ट कैसे चलाएं और आउटपुट को टेबल में कैसे प्राप्त करें?

my.table <- system(command,intern=TRUE) 

हालांकि, अगर मेरी "कमांड" का नतीजा एक मेज बाहर मुद्रित करने के लिए है, और मैं आर तालिका में पढ़ना चाहते हैं सीधे अपनी डेटा संरचना में। (डेटा फ्रेम की तरह कुछ) क्या ऐसा करने का कोई आसान तरीका है? क्योंकि "तालिका" में वर्तमान आउटपुट एक वर्ण स्ट्रिंग तालिका है। मुझे क्या चाहिए आर ऑब्जेक्ट read.table() के रूप में है।

+0

साथ system से स्मृति और समय में अधिक योग्य होंगे मुझे लगता है तुम अपने आप को पार्स करने के लिए कुछ पाठ करना होगा। कुछ अनचाहे सुझाव: 1) '->' असाइनमेंट तकनीकी रूप से सही है, लेकिन इससे बचा जा सकता है। 2) कृपया पुनरुत्पादित प्रश्न पोस्ट करें (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) क्योंकि आपको बेहतर उत्तर मिलेंगे। इस मामले में, आप निश्चित रूप से कुछ नमूना आउटपुट पोस्ट करना चाहते हैं। –

+0

"-> असाइनमेंट तकनीकी रूप से सही है, लेकिन इससे बचा जा सकता है" क्या? – Hansi

उत्तर

4

परिणाम 'तालिका' लाइनों को चिह्नित करने के सफेद-अंतरिक्ष विभाजक और गाड़ी-रिटर्न है, तो आप परिणामों read.table का 'पाठ' तर्क को पारित करना चाहिए:

inp.tbl <- read.table(text = system(command,intern=TRUE)) 
+0

बहुत बहुत धन्यवाद! यह मेरी समस्या हल करता है !! – Pengyao

+0

(आर के पुराने संस्करणों के उपयोगकर्ताओं के लिए एक चेतावनी '' read.table' 'और' डेरिवेटिव्स 'के लिए' टेक्स्ट 'तर्क अपेक्षाकृत हालिया जोड़ है।) –

4

मैं का उपयोग कर की उम्मीद pipeintern

inp.tbl <- read.table(pipe(command)) 
संबंधित मुद्दे