rbind.zoo는 일관된 동물원 개체를 만드는 것 같습니다

StackOverflow https://stackoverflow.com/questions/1898815

  •  19-09-2019
  •  | 
  •  

문제

나는 두 개의 동물원 개체를 함께 rbind.zoo하고 싶다. 내가 테스트 할 때 나는 다음과 같은 문제를 발견했다 (?) ...

참고 : 아래는 예입니다. 예시적인 것 외에는 분명히 아무런 의미가 없습니다. 동물원 대상이 있습니다. 'X'라고 부릅니다. 나는 그것을 두 부분으로 나누고 rbind.zoo를 함께 나누고 싶습니다. 원래 객체와 비교할 때 All.equal은 차이를 제공합니다.

'$ class'속성은 다르지만 어떻게 또는 이유를 알 수 없습니다. 이 XTS 객체를 만들면 All.equal이 예상대로 작동합니다.

즉 .....

X.date <- as.POSIXct(paste("2003-", rep(1:4, 4:1), 
                     "-", sample(1:28, 10, replace = TRUE), sep = ""))

X <- zoo(matrix(rnorm(24), ncol = 2), X.date)

a <- X[c(1:3), ]      # first 3 elements

b <- X[c(4:6), ]      # second 3 elements

c <- rbind.zoo(a, b)  # rbind into an object of 6 elements

d <- X[c(1:6), ]      # all 6 elements

all.equal(c, d)       # are they equal?

~~~~

All.equal은 다음과 같은 차이점을 제공합니다.

"속성 : <구성 요소 3 : 속성 : <길이 불일치 : 첫 번째 구성 요소에 대한 비교 >>"

도움이 되었습니까?

해결책

예, 속성 처리 측면에서 버그를 찾았을 수도 있습니다. 반면에 누가 신경 쓰나요? c 그리고 d 효과적으로 동일합니다.

R> c - d

2003-01-07 0 0
2003-01-15 0 0
2003-01-17 0 0
2003-01-18 0 0
2003-02-17 0 0
2003-02-22 0 0
R> 

물체를 검사하면 아무것도 없습니다.

R> str(c)
‘zoo’ series from 2003-01-07 to 2003-02-22
  Data: num [1:6, 1:2] 0.79 -0.731 1.574 -0.694 0.358 ...
  Index:  POSIXct[1:6], format: "2003-01-07" "2003-01-15" 
      "2003-01-17" "2003-01-18" "2003-02-17" "2003-02-22"
R> str(d)
‘zoo’ series from 2003-01-07 to 2003-02-22
  Data: num [1:6, 1:2] 0.79 -0.731 1.574 -0.694 0.358 ...
  Index:  POSIXct[1:6], format: "2003-01-07" "2003-01-15" 
      "2003-01-17" "2003-01-18" "2003-02-17" "2003-02-22"

보수자에게 정중 한 메일을 보내는 것이 좋습니다. zoo 사건을 설명합니다.

다른 팁

R은 posixct 객체의 tzone 속성을 일관되게 취급하지 않습니다. 동물원은 이것과 아무 관련이 없습니다. 동물원을 전혀 사용하지 않고도 이와 같은 사례를 생각해 낼 수 있습니다. 원래 코드의 C와 D는 실제로 TZONE 속성을 제외하고 동일합니다.

TZONE 속성을 제거하면 C와 D는 동일합니다.

attr(X.date, "tzone") <- NULL  ##### add after defining X.date

동물원의 경우 거의 모든 시간 수업을 지원하므로 시간대가 필요하지 않은 경우 다른 시간 수업을 사용하는 것을 고려할 수 있습니다. 시간대는 필요하지 않은 경우 정당한 이유없이 물건을 복잡하게 만듭니다. 예를 들어, 예를 들어 날짜 클래스를 사용할 수있었습니다.

자세한 내용은 R News 4/1을 읽으십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top