rbind
and take count with aggregate
aggregate(a~Id, rbind(df1, df2, df3), length)
# Id a
#1 1 2
#2 2 3
#3 3 1
#4 4 2
#5 6 1
#6 7 1
#7 9 1
#8 11 1
OR with dplyr
library(dplyr)
bind_rows(df1, df2, df3) %>% count(Id)
rbind
and take count with aggregate
aggregate(a~Id, rbind(df1, df2, df3), length)
# Id a
#1 1 2
#2 2 3
#3 3 1
#4 4 2
#5 6 1
#6 7 1
#7 9 1
#8 11 1
OR with dplyr
library(dplyr)
bind_rows(df1, df2, df3) %>% count(Id)