【发布时间】:2017-04-21 01:54:28
【问题描述】:
我在 R 中使用两个通过 id 变量连接的表(出于某些原因,我不想合并它们)。示例对象如下所示:
a <- data.frame(id=c(1L,2L,3L),
var1=c(0,1,3))
b <- data.frame(id=c(1L,1L,2L,2L,3L,3L),
var2=rnorm(6))
我想要做的是在第一个数据库中查找与 var1 上的给定条件相关的行,仅选择 Id,然后使用这些 id 值过滤数据库 2 中的观察结果。我想知道我是否可以在一个管道中执行此操作,因为如下:
a %>%
filter(var1==1) %>%
select(id) %>%
filter(b,id==.)
或者
a %>%
filter(var1==1) %>%
select(id) %>% c() %>% unlist()
filter(b,id==.)
这两个示例都不起作用,可能是因为我只能通过管道运算符传递 data.frames 或其他对象,而不能传递原子值。我说的对吗?
【问题讨论】: