我有一个policyData,这是我非常庞大的数据集(数百万行),我希望用映射表(数万行)添加一些信息.
样品:
policyData <- data.table(plan=c("c","b","b","d"),v=c(8,7,5,6),foo=c(4,2,8,3))
mapping <- data.table(plan=c("b","b","a","a","c","c"),a=c(1,2,4,5,7,8),b=c(9,8,6,5,3,2))
Run Code Online (Sandbox Code Playgroud)
的policyData:
plan v foo
1: c 8 4
2: b 7 2
3: b 5 8
4: d 6 3
Run Code Online (Sandbox Code Playgroud)
制图:
plan a b
1: b 1 9
2: b 2 8
3: a 4 6
4: a 5 5
5: c 7 3
6: c 8 2
Run Code Online (Sandbox Code Playgroud)
问题是映射有多个实例,我希望只获得第一个匹配.我需要使用内存高效的方式加入这两个:=.
所需的输出是:
plan v foo a b
1: c 8 4 7 3
2: b 7 2 1 9
3: b 5 …Run Code Online (Sandbox Code Playgroud)