We can use rbindlist
library(data.table)
rbindlist(mget(paste0("df", 1:3)))[, .N, Id]\
# Id N
#1: 1 2
#2: 2 3
#3: 3 1
#4: 4 2
#5: 7 1
#6: 6 1
#7: 9 1
#8: 11 1
solved How to count occurrence of a value across multiple data frames [duplicate]