2011-10-17 15 views
7

के साथ डेटा प्रकार त्रुटि मेरे पास विकल्पों के लिए समय श्रृंखला डेटा की एक .dat फ़ाइल है, इसलिए इसमें मूल्य डेटा के अतिरिक्त व्यापार तिथि और समाप्ति तिथि शामिल है जिसके लिए मैं आर में टाइम्सरी विश्लेषण करना चाहता हूं, मैं नया हूं आर के लिए, तो मैं ऑनलाइन कुछ उदाहरणों का पालन कर रहा हूं। एक डेटा फ्रेम के रूप में डाटा अपलोड करने के लिए अपने प्रयास में, मैं स्कैन() की कोशिश की, लेकिन मैं निम्नलिखित त्रुटि मिलती है:स्कैन

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : 
    scan() expected 'a real', got '2010-Aug-09,2011-Aug-19,C00026000,0.23985,5.53,0.999999,0.00712328' 

मैं समझता हूँ कि यह असली उम्मीद कर रही है, लेकिन मैं तारीख और विकल्प दर्ज करने की आवश्यकता टाइम सीरीज़ को समझने के लिए टिकर, तो क्या कोई मुझे इस बारे में कुछ मार्गदर्शन दे सकता है कि मैं इसके बारे में कैसे जाता हूं।

+2

क्यों न केवल 'read.csv' का उपयोग करें? और यह MySQL के साथ क्या करना है? – joran

+0

प्रश्न सामग्री से मेल खाने के लिए शीर्षक को फिक्स्ड करें। –

+0

ठीक है धन्यवाद, मुझे इसके साथ काम करने दो। @ रिची, शीर्षक को सही करने के लिए धन्यवाद :-) – itcplpl

उत्तर

9

स्कैन की आवश्यकता है कि आप डेटा की सामग्री निर्दिष्ट करें; डिफ़ॉल्ट रूप से यह मानता है कि आप केवल संख्याओं में पढ़ रहे हैं (जो आप नहीं हैं)।

जोरन की टिप्पणी के अनुसार, read.csv (या read.table) फ़ाइल से डेटा फ्रेम में पढ़ने के लिए और अधिक उपयोगकर्ता के अनुकूल है। इसके बजाय इसका प्रयोग करें।

9

मैं दोहराना होगा कि scan एक बहुत निम्न स्तर के समारोह है और लगभग हर मामले में आप read.table या read.csv का उपयोग कर बेहतर कर रहे हैं।

लेकिन जो मैं कह रहा हूं उस पर काम करने के लिए स्कैन प्राप्त करने के लिए आपकी .dat फ़ाइल में है, आपको इसे कम से कम (फ़ील्ड सेपरेटर) क्या है और डेटा प्रकार क्या हैं। तो कुछ ऐसा:

scan('temp.dat',sep=',',what=list('character','character','character','numeric','numeric','numeric','numeric')) 

चाल करेगा।

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