我希望获得一些关于如何使用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
答案 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'))