我有两个数据框。我想将它们并置,并仅选择第二个数据框中的那些行。
样本数据:
d1 <- data.frame(id = c(1,222,3,44,56,7,8,9,10,12,13,14),
vals = c(1,2,3,4,5,6,7,8,9,10,11,12))
d2 <- data.frame(id = c(222, 56, 7, 8, 12, 13, 14),
sum = c(12, 13, 14, 15, 16, 16, 16))
理想的输出:
d3 <- data.frame(id = c(222, 56, 7, 8, 12, 13, 14),
vals = c(2, 5, 6, 7, 10, 11, 12))
d3
id vals
1 222 2
2 56 5
3 7 6
4 8 7
5 12 10
6 13 11
7 14 12
我尝试使用%in%
运算符,但是它无法正常工作-有时它使用的ID不会出现在d2中。
PS一些上下文。这是一个示例数据和示例;最初,我有一个汇总表(summarise()
),其中包含原始数据帧中的绝对值之和。从汇总表中,我删除了所有等于0的总和。我需要将所有非零值行保留在原始数据帧中,也就是说,我正在比较两个表。
尝试这个:
#Code
d3 <- d1[d1$id %in% d2$id,]
输出:
id vals
2 222 2
5 56 5
6 7 6
7 8 7
10 12 10
11 13 11
12 14 12
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句