The cost of living is one factor behind a wave of aggression towards retail workers, a charity says.