所以,说我有两个数据集:
for (int number : numbers) {
if (CountQiftPositiv(number)) {
System.out.println(number);
}
}
现在,我想要一个新的数据集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]
除非这是为我打印错误。什么是简单的衬里才能实现这一目标?
答案 0 :(得分:5)
我们可以使用
subset(d1, id %in% d2$id)
或者
d1[d1$id %in% d2$id,]
不确定这是否会简化,但data.table
解决方案可能更有效。
library(data.table)
setDT(d1, key='id')[d2$id]