2016-12-18 3 views
1

저는 R이 처음이므로 PANICr 패키지의 getnfac 함수를 사용해야합니다. 그리고이 함수는 첫 번째 인수로 xts 개체 만 사용하는 것으로 보입니다. 그러나, 내가 약간의 독서를 겪은 후에 나는 여전히 xts 객체가 무엇인지 이해하지 못합니다. 누구든지 matrixxts 개체로 어떻게 변환 할 수 있는지 알려주십시오.행렬을 xts 객체로 변환

이하에서는 첫 번째 인수로 return 행렬을 사용합니다. 따라서 returnxts 개체로 변환하면됩니다.

getnfac(return,143,"BIC3") 
Error in getnfac(return, 143, "BIC3") : 
    x must be an xts object so lags and differences are taken properly 

답변

2

xts 일부 비트가 추가로 확장 시계열 객체 본질적 일반 ts 객체 (또는 더 정확하게 zoo 객체)이다.
이름의 '확장 가능'부분은 자신이 선택한 속성을 추가하는 방법을 나타냅니다.

matrix은 아주 쉽게 xts이 날짜 또는 시간 형식

에있을 인덱스를 (벡터가 각각의 샘플을 촬영 한 것을 한 번에 설명)이 필요합니다

m <- matrix(1:16, 4) 
m.ts <- ts(m) 
index(m.ts) 

복수 변수 시계열로 변환 할 수 있지만

library(xts) 
m <- matrix(1:16, 4) 
d <- as.Date(1:nrow(m)) 
m.xts <- xts(m, order.by=d) 
index(m.xts) 

데이터가 일정 간격으로 샘플링되는 경우 위의 것과 같은 더미 인덱스가 괜찮을 수 있습니다. 그렇지 않은 경우 샘플링 시간에 해당하는 벡터를 제공해야합니다.

0

제 생각에는 getnfac() 함수의 첫 번째 인수는 데이터가 들어있는 행렬이어야합니다.

coredata()xts 개체를 사용하여 매트릭스 형식을 변환 할 수 있습니다.

+0

의견이 있으십니까? 'getnfac'의 소스 코드를 인용하자면, 4 행 :'is.xts (x) || stop ("x는 xts 객체 여야 차이가 적절하게 취해집니다"). 그것에 대해 두 가지 방법이 없으며,'xts' 객체를 제공하거나 프로세스가 중지됩니다. – AkselA

+0

@AkselA 나는 그가 API 디자인이 매트릭스를 취해야한다고 생각한다고 생각했다. 이 답변은 정말로 질문에 대한 코멘트가되어야합니다.하지만 IIRC에서는 의견을 남기려면 20 명의 담당자가 필요합니다. 사실,'coredata()'는 xts를 행렬로 변환하는 것이지만, 여기에서 물어 보는 것은 행렬을 xts로 변환하는 방법입니다. –