동물원 목록이있는 경우 목록 색인 ([]])과 날짜별로 특정 값을 참조하려면 어떻게해야합니까? 예를 들면 다음과 같습니다.동물원 목록에 인덱싱
require("zoo")
require("tseries")
require("lubridate")
z = zoo(c(1,2,3), as.Date(c("2000/1/1", "2000/2/1", "2000/3/1")))
z1 = zoo(c(1,2,3), as.Date(c("2000/1/1", "2000/2/1", "2000/3/1")))
z2 = zoo(c(10,20,30), as.Date(c("2000/1/1", "2000/2/1", "2000/3/1")))
z3 = zoo(c(100,200,300), as.Date(c("2000/1/1", "2000/2/1", "2000/3/1")))
> l = list(z1,z2,z3)
> l
[[1]]
2000-01-01 2000-02-01 2000-03-01
1 2 3
[[2]]
2000-01-01 2000-02-01 2000-03-01
10 20 30
[[3]]
2000-01-01 2000-02-01 2000-03-01
100 200 300
내 목표는 색인에서 해당 월의 열 번호가있는 각 행의 값을 반환하는 것입니다. 위의 데이터에 대한 출력은 다음과 같습니다.
1, 20, 300
(표시 할 가장 쉬운 것은 동물원 개체, 벡터 일 수 있음). 나는 그것이 필요한 방식으로 강요 할 것이다.
내가 코드에 노력했습니다 방법은 (다른 사람의 사이에서)입니다 :
monthNumbs = month(index(l[[1]]))
l[[monthNumbs]][index(l)]
나는이 구조적으로 잘못 알고; 하지만 데이터 구조를 보는 방법입니다.
## loop through the index of the list
## for each zoo object l[[x]] you get months index
## and you compare it to current index
unlist(lapply(seq_along(l),
function(x)l[[x]][month(index(l[[x]]))==x]))
[1] 1 20 300
편집 또 다른 대안 xts
패키지 사용 : 모든 경우
를 어떤 도움을 내가 당신의 질문을 이해하면
내가 300', 당신은 30', 1, 20 '을받을 수 있나요 당신은, (1), (20)'을 뜻하는지 이해하지 않습니다. 이걸 분명히 해줄 수 있니? – agstudy
예! 편집 됨. – StatsViaCsh
모든 동물원 개체에 동일한 색인이 있습니까? – agstudy