Для замены только факторов:
i <- sapply(bob, is.factor)
bob[i] <- lapply(bob[i], as.character)
В пакете dplyr в версии 0.5.0 была введена новая функция mutate_if
:
library(dplyr)
bob %>% mutate_if(is.factor, as.character) -> bob
Пакет purrr из RStudio дает другую альтернативу:
library(purrr)
library(dplyr)
bob %>% map_if(is.factor, as.character) %>% as_data_frame -> bob
(помните, что это свежий пакет)