2016-05-09 2 views
0

У меня довольно большой список, заполненный XTS объектов, которые выглядят так:Subset список с XTS объектов, которые отвечают критериям, используя R

tail(LIST[[1]])

  AMFD..Open AMFD..High AMFD..Low AMFD..Close AMFD..Volume AMFD..spcseccd 
1984-12-21   NA  3.625  3.625  3.625   6400   978 
1984-12-24   NA  3.500  3.500  3.500   4000   978 
1984-12-26   NA  3.625  3.625  3.625   2200   978 
1984-12-27   NA  3.500  3.500  3.500   6400   978 
1984-12-28   NA  3.750  3.750  3.750   8700   978 
1984-12-31   NA  3.750  3.750  3.750   4200   978 

tail(LIST[[2]])

  ANTQ.Open ANTQ.High ANTQ.Low ANTQ.Close ANTQ.Volume ANTQ.spcseccd 
1984-12-21  NA  3.25 2.750  3.000   800   976 
1984-12-24  NA  3.25 2.875  3.063   0   976 
1984-12-26  NA  3.25 2.750  3.000   0   976 
1984-12-27  NA  3.25 2.750  3.000   100   976 
1984-12-28  NA  3.25 2.750  3.000   700   976 
1984-12-31  NA  3.25 2.750  3.000  1800   976 

I хотел бы подмножить этот список на основе последнего номера 6-го столбца: в примере: LIST[last(LIST[[x]][,6]) == 978]

Я думал, что что-то подобное может работать, но она также возвращает некоторые XTS, которые не отвечают критериям:

SS <- sapply(as.list(1:10),function(x) { 
    LIST[which(last(LIST[[x]][,6]) == 978)] 
}) 

ответ

0

после многих испытаний, решение я нашел следующее:

LIST[sapply(LIST,"[[",6) %in% 978]

Это вернет все объекты xts, соответствующие критериям (978)