【发布时间】:2014-04-04 18:58:08
【问题描述】:
我有两个列表,我想使用另一个列表对列表中的数据进行子集化。比如说,我有名为mylist 和hislist 的列表:
mylist <- list(a = data.frame(cola = 1:3, colb = 4:6),
b = data.frame(cola = 1:3, colb = 6:8))
> mylist
$a
cola colb
1 1 4
2 2 5
3 3 6
$b
cola colb
1 1 6
2 2 7
3 3 8
>
和hislist
hislist <- list(a = 5:6,
b = 7:8)
> hislist
$a
[1] 5 6
$b
[1] 7 8
我尝试使用 lapply 函数对 mylist 进行子集化:
lapply(mylist, function(x) subset(x, colb %in% hislist))
#or
lapply(mylist, function(x) x[x$colb %in% hislist,])
但这些不起作用。如何解决这个问题?
【问题讨论】: