Это (почти) кажется идеальным временем для использования редко используемой функции rapply
rapply(insurance, class = "factor", f = levels, how = "list")
Или
Filter(Negate(is.null),rapply(insurance, class = "factor", f = levels, how = "list"))
Чтобы удалить элементы NULL
(которые t факторов)
Или просто
lapply(Filter(is.factor,insurance), levels))