Грег решил твою проблему, но твой код все еще выглядит забавно. Как написано (с поправкой Грега), ваш цикл будет проходить через каждую строку, и если строка будет иметь «m» во втором столбце, она заменит bumpus_males на только для этой строки . Так что, если во втором столбце более одной строки есть буква "m", вы сохраните только последнюю строку как bumpus_males. Я подозреваю, что вы действительно хотите здесь больше похоже:
bumpus_males <- subset(bumpus, bumpus[,2] == "m")
Это создаст новый data.frame со всеми строками, где столбец 2 равен "m".