2013-05-30 2 views
2

xts 클래스를 목록에 적용하고 싶습니다.목록에서 xts 개체를 만들 수 있습니까?

y <- list(1, 2, 3) 
tm <- Sys.time() + 1:3 
require(xts) 
xts(x = y, order.by = tm) 
## Error in coredata.xts(x) : currently unsupported data type 

충분히 공정, 내가 클래스 내 자신의 (목록의 확장)에 대해이 작업을 할 수 있도록이 확장 매우 간단합니다? 내 자신의 클래스에 적용되는 coredata, indexxts에 대한 메서드를 작성합니까? 아니면 list에 대해 비슷한 메서드를 먼저 추가해야합니까?

설명서 나 vignettes에서이 항목을 찾을 수 없지만 확실하지 않은 부분이 있습니다.

주로 재귀 벡터를 기반으로 간단한 클래스를 만든 다음 index[의 도구를 적용하고 싶습니다. 추출 도구를 사용하면 간단한 문자열을 사용하여 시간 간격별로 색인을 생성 할 수 있습니다. 즉, [ "2013-05-31 10"]은 해당 날짜의 10:00:00에서 10:59:59까지의 간격을 의미합니다. for free을 받고 싶습니다.

+0

아니요, 간단하지 않습니다. 당신이하려는 일을 확장 할 수 있습니까? –

답변

0

소스 코드를 탐색하면 실질적인 작업 없이는 불가능하다는 것을 알 수 있습니다 (위의 설명에서 Joshua가 말한 것처럼).

입력 형식에 대한 일반적인 지원을 제공하는 코드는 xts 단위의 C로되어 있기 때문에 원자 벡터, 행렬 및 데이터 외부에서이 형식을 적용하는 데 특별한 노력이 필요합니다.

zoo의 유사 코드는 좀 더 쉽게 작동 할 수 있도록 순수한 R이지만 간단한 문자열을 사용하여 시간 간격별로 색인을 생성 할 수있는 지원이 필요했습니다. [ "2013-05-31 10"]은 그날 10:00:00에서 10:59:59 사이의 간격. 내가 볼 수

가장 좋은 옵션은

  1. 밀렵하거나 시간 간격 색인에 대한 코드를 재 작성하고 새 클래스
  2. 에 적용 xts를 포함하는 객체를 만들고 순환에 지원을 전파하는 방법을 정의 목록 구성 요소. 예를 들어 spacetime과 같이 전반적인 S4 상황에서 이러한 예가 있습니다.
0

xts 객체는 숫자 행렬과 색인 속성을 더한 것입니다 (본질적으로).

따라서 제약 조건은 a) 목록에서 만드는 방법을 알고있는 숫자 행렬을 가지고 있고 b) 인덱스에 POSIXt 개체가 있어야합니다.

목록에 표시되어있는 경우 데이터를 ... xts 개체 목록으로 유지하십시오.

관련 문제