2017-12-18 171 views
2

从一组获得特定记录我有以下的DF如何R中

pid name plan type... 
1 v a 10 
1 s a 20 
1 v b 10 
2 s c 20 
2 v c 10 
3 s a 10 
3 v a 20... 

和另一DF2,它具有的ID从第一DF和记录位置从采取DF

pid position 
1 1 
2 2 
3 2 

因此,这意味着对于PID 1,1记录已被选中,为PID 2,2,对PID 3,第2和等等...

所以我的输出应该像

pid name plan type... 
1 v a 10 
2 v c 20 
3 v a 20... 

回答

2

我们可以做一个join然后filter

library(dplyr) 
left_join(df1, df2) %>% 
     group_by(pid) %>% 
     filter(row_number() == position) %>% 
     select(-position)