Deleting near duplicates based on one varchar field
So, rephrasing your requirement a little, you want to delete every row whose pos has the value of OF and for which another row in the same table exists with the same plyrID, year and teamID, and with pos of RF, LF or CF.

That sounded almost SQL, you would only need to correct some "grammar":

DELETE FROM
  MyTable
WHERE
  pos = 'OF'
  AND EXISTS
  (
    SELECT
      *
    FROM
      MyTable AS t2
    WHERE
      t2.plyrID = MyTable.plyrID
      AND t2.year = MyTable.year
      AND t2.teamID = MyTable.teamID
      AND t2.pos IN ('RF', 'LF', 'CF')
  )
;


The above is standard SQL but it wouldn't work in MySQL. Needs rewriting with JOIN:

DELETE MyTable
FROM MyTable
  JOIN
      MyTable AS t2
    ON
      t2.plyrID = MyTable.plyrID
      AND t2.year = MyTable.year
      AND t2.teamID = MyTable.teamID
      AND t2.pos IN ('RF', 'LF', 'CF')
WHERE
  MyTable.pos = 'OF'
;