आर

2010-04-05 14 views
6

में एक वेक्टर में एक टीएस (टाइम सीरीज़) ऑब्जेक्ट को कनवर्ट करना मुझे एक वेक्टर पर फ़ंक्शन का उपयोग करने की आवश्यकता है जो टी ऑब्जेक्ट नहीं लेता है। मैं इसे एक सादे पुराने वेक्टर में बदलने की कोशिश कर रहा हूं लेकिन मुझे लगता है कि मैं इसे समझ नहीं पा रहा हूं। मैं चारों ओर गुग हो गया लेकिन ज्यादातर लोग डेटा प्रकारों को टीएस ऑब्जेक्ट में बदलने की कोशिश कर रहे हैं। मैं दूसरी तरफ जाना चाहता हूँ। किसी भी सहायता की सराहना की जाएगी।आर

उत्तर

13
data(AirPassengers) # already in your R installation, via package "datasets" 
AP = AirPassengers  
class(AP) 
# returns "ts" 

AP1 = as.numeric(AP) 
# returns "numeric" 

# another way to do it 
AP1 = unclass(AP) 

AP1 हीमूल्यों और एपी के रूप में लंबाई के साथ एक वेक्टर है। कक्षा अब टीएस के बजाय संख्यात्मक है, जिसका अर्थ है कि, सूचकांक अब किसी प्रकार की तारीख-समय वस्तु नहीं बल्कि सामान्य अनुक्रमिक पूर्णांक हैं।

तो डब्ल्यू/आर/ओ पी में विशिष्ट प्रश्न, दो स्निपेट के दोनों टी ऊपर होगा "परिवर्तित [एक ts वस्तु] एक सादे पुराने वेक्टर को"

आप भी ऐसा ही करने की जरूरत है सूचकांक के साथ बात के बजाय, या के अलावा, मूल्यों में - यानी, संख्यात्मक करने के लिए दिनांक वस्तुओं से, आप ऐसा कर सकते हैं, ताकि जैसे:

fnx = function(num_days_since_origin, origin="1970-01-01") { 
    as.Date(num_days_since_origin, origin="1970-01-01") 
} 

a = as.Date("1985-06-11") 
a2 = as.numeric(a) 
# returns: 5640 
a3 = fnx(5640) 
# returns: "1985-06-11" (a date object) 
+0

+1 मैं unclass प्यार करता हूँ। आर –

+1

गंभीरता से किसी ऑब्जेक्ट की सामग्री का निरीक्षण करने का यह एक शानदार तरीका है? as.Numeric (AirPassengers) उस तिथि पर नमूना मूल्य देता है, तारीख ही नहीं। कृपया डेटा के युग के बाद से सेकंड प्राप्त करने के तरीके को प्रदर्शित करें! –