【发布时间】:2016-02-15 16:10:30
【问题描述】:
我有以下两个表:
df <- data.frame(eth = c("A","B","B","A","C"),ZIP1 = c(1,1,2,3,5))
Inc <- data.frame(ZIP2 = c(1,2,3,4,5,6,7),A = c(56,98,43,4,90,19,59), B = c(49,10,69,30,10,4,95),C = c(69,2,59,8,17,84,30))
eth ZIP1 ZIP2 A B C
A 1 1 56 49 69
B 1 2 98 10 2
B 2 3 43 69 59
A 3 4 4 30 8
C 5 5 90 10 17
6 19 4 84
7 59 95 39
我想在 df 数据框中创建一个变量 Inc ,其中对于每个观察,值是观察的 eth 和 ZIP 的交集。在我的示例中,它会导致:
eth ZIP1 Inc
A 1 56
B 1 49
B 2 10
A 3 43
C 5 17
循环或蛮力可以解决它,但我的数据集需要时间,我正在寻找一种更微妙的方法,可能使用 data.table。在我看来,这是一个非常标准的问题,如果是,我很抱歉,我无法为这个问题制定一个精确的标题(你可能已经注意到了..)也许是我没有找到任何类似问题的原因在论坛搜索..
谢谢!
【问题讨论】:
标签: r data.table