Here is my example data set:
Name Course Cateory 1: Jason ML PT 2: Jason ML DI 3: Jason ML GT 4: Jason ML SY 5: Ja
You're not removing based on category, you're really trying to remove full duplicate rows from the dataframe.
category
You can remove full duplicate rows by subsetting the dataframe:
base R: df_without_dupes <- df[!duplicated(df),]