Трудно точно знать, что вы хотите, без каких-либо выборочных данных и желаемого результата, но вот код, который принимает фрейм данных, и для каждого столбца, который является фактором, возвращается фрейм данных, перечисляющий количество наблюдений для каждого уровня фактора.
## dummy data
df <- data.frame(Sex = c("m", "f", "m","f"), department = c("bs", "el", "bs", "se"), numbers = c(1,2,3,4))
## function that takes a column of data
## and returns factor counts if the column is a factor
countFactors <- function(col){
if(is.factor(col)){
fct_count(col)
}else{
NULL
}
}
## use purrr::map to iterate through the columns of the
## dataframe and apply the function
df %>%
map(~ countFactors(.)) %>%
compact()