We can use across
with summarise
library(dplyr) library(broom) out <- sampled_df %>% summarise(across(all_of(numerical_columns), ~list(cor.test(., categorical_column) %>% tidy %>% select(estimate, p.value)))) unclass(out) %>% bind_rows(.id = 'grp') # A tibble: 2 x 3 # grp estimate p.value # <chr> <dbl> <dbl> #1 1 0.408 0.495 #2 2 0.343 0.572
This is a different sort of opinion that many people dont usually talk about. Sometimes I fav stuff like this on Redit. Although this time Im not sure if this would be best for the users. Ill take a look around your site though and submit something else.