library(rlang)
library(dplyr)

new_median_rows <- function(df,groupvar = NULL, x = NULL, nrows = 5, ...) {
  sortvars <- quos(...)
  x_quo <- enquo(x)
  groupvar_quo <- enquo(groupvar)
  
  
  df %>%
    
    arrange(!!!sortvars) %>%
    group_by(!!groupvar_quo) %>%
    filter(row_number(!!x_quo) %in% 1:nrows) %>%
    mutate(Baseline = median(!!x_quo))
}


#1
test <- new_median_rows(df = mtcars,
                        groupvar = cyl,
                        x = mpg,
                        nrows = 5,
                        gear, carb)
#2

new_median_rows2 <- function(df,groupvar = NULL, x = NULL, nrows = 5, ...) {
  sortvars <- quos(...)
  x_quo <- enquo(x)
  groupvar_quo <- enquo(groupvar)
  
  
  df %>%
    
    arrange(!!!sortvars) %>%
    group_by(!!groupvar_quo) %>%
    filter(row_number(!!x_quo) %in% 1:nrows) %>%
    mutate(Baseline = median(!!x_quo)) %>% 
    arrange(!!groupvar_quo)
}



test_medianrows2 <- new_median_rows2(df = mtcars,
                            groupvar = cyl,
                            x = mpg,
                            nrows = 7,
                            gear, carb) 


test2 <- new_median_rows(df = mtcars,
                         groupvar = cyl,
                         x = mpg,
                         nrows = 9,
                         gear, carb)



testdf <- mtcars %>% 
  arrange(cyl,mpg) %>% 
  group_by(cyl) %>% 
  arrange(cyl,carb) %>% 
  filter(row_number(mpg) %in% 1:5) %>% 
  mutate(baseline = median(mpg))


testdf2 <- new_median_rows(mtcars,cyl,x = mpg,nrows = 7,cyl,carb)



testdf3 <- new_median_rows(mtcars,vs,x = wt,nrows = 3,drat,hp)
testdf3 %>%  arrange(drat)


library(nycflights13)
data(flights)

flight_test <- new_median_rows(flights,
                               carrier,
                               dep_delay,
                               5,
                               origin,day)