rewriting the MatchMap() function based on dplyr joins and adding a new argument "accumulate" that allows to accumulate duplicate expression levels in case they are present