2013-05-06 9 views
5

मैं आर को एक कॉलम को दिनांक के रूप में पहचानना चाहता हूं। इसे आयात के दौरान कारक के रूप में पढ़ा जाता है, हालांकि, जब मैं 'as.Date' और 'प्रारूप' के साथ प्रारूपित करने का प्रयास करता हूं तो मुझे केवल एनएएस मिलते हैं। मुझे यकीन नहीं है कि मैं कहां गलत हो रहा हूं।"% Y-% m" प्रारूप में प्रारूप स्वरूपण की समस्या

> d = read.table("ByMonth.Year_54428.txt", header=T, sep=",") 
> str(d) 
'data.frame': 607 obs. of 2 variables: 
$ V1 : Factor w/ 607 levels "1950-12","1951-01",..: 1 2 3 4 5 6 7 8 9 10 ... 
$ Rain: int 100 56000 29293 37740 19649 41436 58067 51082 49629 62680 ... 
> 
> 
> Date.form1 <- as.Date(d$V1, "%Y-%m") 
> str(Date.form1) 
Date[1:607], format: NA NA NA NA NA NA NA NA NA NA NA NA NA NA ... 
> 
> Date.form2 = as.Date(as.character(d$V1), format="%Y-%m") 
> str(Date.form2) 
Date[1:607], format: NA NA NA NA NA NA NA NA NA NA NA NA NA NA ... 

उत्तर

14

एक वर्ष और एक महीने कोई तारीख नहीं बनाते हैं। आपको एक दिन भी चाहिए

d <- data.frame(V1=c("1950-12","1951-01")) 
as.Date(paste(d$V1,1,sep="-"),"%Y-%m-%d") 
# [1] "1950-12-01" "1951-01-01" 

तुम भी चिड़ियाघर पैकेज में yearmon वर्ग इस्तेमाल कर सकते हैं।

library(zoo) 
as.yearmon(d$V1) 
# [1] "Dec 1950" "Jan 1951" 
+0

आह, धन्यवाद! मुझे नहीं पता था कि। डेट को एक दिन की भी आवश्यकता है क्योंकि मुझे डेटा का उपयोग करके डेटा मिला: 'ByMonth.Year = rowsum ($ rain_fall बाहर, प्रारूप ($ $ तिथि, "% Y-% m")) जो ' एक दिन का उपयोग नहीं करता है। एक बार फिर धन्यवाद! – KG12

+0

बेशक 'as.Date' को एक दिन की आवश्यकता है। अगर मैंने आपसे पूछा, "आप किस दिन पैदा हुए थे?", आप जवाब नहीं देंगे, "दिसंबर 1 9 50"। जैसा कि यह 'प्रारूप' के _Value_ खंड में कहता है, 'प्रारूप' अपनी वस्तु को एक वर्ण वेक्टर में परिवर्तित करता है। –

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