根据R?中子列表的条件对列表进行子集设置。

时间:2020-05-22 19:34:30

标签: r list subset

我希望获得一些关于如何使用apply系列函数实现此目标的指示。我有一个列表(listbin),并希望使用列表的子列表(x和不合格)中的内容进行子集化。

列表的结构如下所示:

'[['(listbin, 1)$x [which( '[['(listbin, 1)$Ineligible==0 ) ]
'[['(listbin, 2)$x [which( '[['(listbin, 2)$Ineligible==0 ) ]
'[['(listbin, 3)$x [which( '[['(listbin, 3)$Ineligible==0 ) ]

出于我的目的,此代码可完美地用于我的子列表中的1、2和3,但是我正在寻找一种优雅的方式来在我的所有子列表中进行此操作。

IF ISNULL

1 个答案:

答案 0 :(得分:1)

我们可以创建一个函数,然后遍历索引并提取组件

f1 <- function(lst1, i, nm1, nm2){
    '[['(lst1, i)[[nm1]] [which( '[['(lst1, i)[[nm2]]==0 ) ]  
   }

lapply(1:3, function(i) f1(listbin, i = i, 'x', 'Ineligible'))