Мы можем использовать sub
от base R
data$species <- sub(" ", "_", data$species)
Или с chartr
из base R
data$species <- chartr(" ", "_", data$species)
Или используя tidyverse
library(tidyverse)
data %>%
mutate(species = str_replace(species, " ", "_"))