I'm a bit confused by some of the syntax you're using here, but this solution should work for you! It uses dplyr's piping structure, and underscores instead of spaces in variable names (i.e. variable_name rather than `variable name`)
library(dplyr)
library(forcats)
#What I imagine your df$Province variable looks like
df <- tibble(Province = rep(c("Ontario", "Alberta", "Quebec", "British Columbia", "PEI", "Manitoba", "Nova Scotia"), 10))
#Define your big provinces in this vector
big_provinces <- c("Ontario", "Alberta", "Quebec", "British Columbia")
#Modify the dataset (i.e. do the fct_collapse)
df %>%
mutate(Province_group = fct_collapse(
Province, #For the variable "Province"
"Smaller provinces" = unique(Province[!(Province %in% big_provinces)]) #"Smaller provinces" is any province not in the vector big_province.
) #end of fct_collapse
) #mutate
If "Provinces" is a factor variable, you'll need to convert it to a character variable first.
P.S. Hello from Quebec