2010-04-05 2 views
6

ts 객체를 사용하지 않는 벡터에서 함수를 사용해야합니다. 나는 평범한 오래된 벡터로 변환하려고 노력하고 있지만, 나는 그것을 알아낼 수 없다. 내가 주위에 봤지만 대부분 사람들은 데이터 형식을 TS 개체로 변환하려고합니다. 나는 다른 방향으로 가고 싶다. 어떤 도움을 주시면 감사하겠습니다.ts (시계열) 객체를 R의 벡터로 변환

답변

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은 AP와 같은 및 길이의 벡터이다. 클래스는 이제는 ts가 아닌 숫자가되었습니다. 이는 인덱스가 더 이상 일종의 날짜 - 시간 객체가 아니라 일반적인 순차적 정수라는 것을 부분적으로 의미합니다.

w 그래서/R/영업에서 특정 질문에, 두 조각 중 하나 t 위의 것 "평범한 구식 벡터에 변환 [A TS 오브젝트]"

당신이 동일한 작업을 수행해야하는 경우 인덱스를 가지는 것은보다는, 나뿐만 아니라, 값에 - 숫자에 Date 객체에서 즉, 당신이 그렇게 좋아하는 작업을 수행 할 수 있습니다

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 사랑을. R에서 물체의 내용을 검사하는 좋은 방법입니다 –

+1

심각하게? as.numeric (AirPassengers)는 날짜가 아닌 해당 날짜의 샘플 값을 반환합니다. 대신 에포크부터 초를 얻는 방법을 보여주세요! –