dplyr::select_if can help you.
For instance, this gets you all columns of type character in table t:
> t %>%
select_if(is.character) %>%
glimpse()
Rows: 199,303
Columns: 6
$ user_type <chr> "registered", "registered", "registered", "registered",…
$ location <chr> "Massachusetts", "United States", "South Africa", "Loui…
$ website_url <chr> "http://caerwyn.com", "http://www.berbs.us", "http://tu…
$ link <chr> "https://stackoverflow.com/users/2406/caerwyn", "https:…
$ profile_image <chr> "https://www.gravatar.com/avatar/0983795ba79aaa48a86752…
$ display_name <chr> "caerwyn", "berberich", "tumbleweed", "Nate", "Ryan", "…
Replacing is.character with is.numeric, is.logical etc. gets your what you need.
old_dataset[sapply(old_dataset, is.character)]? - jay.sf