фильтровать список по значению - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть список списков, таких как «inputlist» ниже. Я хотел бы отфильтровать его для всех «кор»> 0,2, как список вывода ниже. Вложенные списки, как это сложно для меня, поэтому любые советы очень ценятся.

inputlist

$TimeForOrder
            cor  lag
4893 0.09260373 1610

$OrderForPick
           cor lag
3263 0.2926644 -20

$TimeForShip
           cor  lag
2925 0.1249888 -358

$TimeForRelease
           cor lag
3285 0.2335587   2

outputlist

$OrderForPick
           cor lag
3263 0.2926644 -20

$TimeForRelease
           cor lag
3285 0.2335587   2

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете попробовать:

Filter(function(x) x$cor >= 0.2, ll)  

#$OrderForPick
#    cor lag
#1 0.292  -2
#
#$TimeForRelease
#    cor lag
#1 0.233   2

Также возможно:

ll[vapply(ll, function(x) x$cor >= 0.2, logical(1))]

Данные:

TimeForOrder <- data.frame(cor = 0.092, lag = 1610)
OrderForPick <- data.frame(cor = 0.292, lag = -2)
TimeForShip  <- data.frame(cor = 0.124, lag = -358)
TimeForRelease <- data.frame(cor = 0.233, lag = 2)

ll <- list(TimeForOrder = TimeForOrder, OrderForPick = OrderForPick, TimeForShip = TimeForShip, TimeForRelease= TimeForRelease)
...