Libraries

library('dplyr')


Data

df_raw <- read.csv('https://raw.githubusercontent.com/Brent-Morrison/Misc_scripts/master/stock_data.csv')


Return top n by group

# Select columns and date required
df <- df_raw %>% 
  filter(date_stamp == '30/06/2021') %>% 
  select(symbol, date_stamp, sector, asset_growth, roa, roe, leverage, ttm_earnings)

# Filter for top 5 
df <- df %>% group_by(sector) %>% slice_max(order_by = ttm_earnings, n = 5)


Print

# Print table
rmarkdown::paged_table(df)