另一个子集列表

时间:2012-12-05 22:03:36

标签: r list subset

我一直在查看mapply文档,但我找不到足够的示例来帮助我开始。

我有foobar列表:

set.seed(123)
f   <- data.frame(y=1:10,x=sample(LETTERS,10))
foo <- list(f,f)
b   <- data.frame(x=c("J","U","A"))
ba  <- data.frame(x=c("J","W"))
bar <- list(b,ba)

我可以使用以下代码fb进行分组:

result <- f[f$x %in% b$x ,]

我希望在foobar上按foo[[1]]对整个列表foo[[1]]["x"]bar[[1]]foo[[2]]子集执行此子集foo[[2]]["x"]上的bar[[2]]等...

结果将是:

>foo
[[1]]
    y x
3   3 J
4   4 U
6   6 A

[[2]]
    y x
3   3 J
5   5 W

1 个答案:

答案 0 :(得分:5)

喜欢这样......?

mapply(merge,foo,bar,SIMPLIFY = FALSE)
[[1]]
  x y
1 A 6
2 J 3
3 U 4

[[2]]
  x y
1 J 3
2 W 5