所以,假设我有两个数据集:
d1<- data.frame(seq(1:10),rnorm(10)) colnames(d1) <- c('id','x1') d2<- data.frame(seq(3:7),rnorm(5)) colnames(d2) <- c('id','x2')
现在,假设我想要一个新的数据集,d3
即具有该d1
值的数据id
也存在于其中d2
.我想使用一个非常简单的功能,例如:
d3 <- d1[id %in% d2$id]
除了这是为我打印错误.什么是简单的衬垫才能实现这一目标?
我们可以用
subset(d1, id %in% d2$id)
要么
d1[d1$id %in% d2$id,]
不确定这是否简化,但data.table
解决方案可能更有效.
library(data.table) setDT(d1, key='id')[d2$id]