другой результат, когда был показан тиббл

#r #printing #tidyverse #tibble

Вопрос:

Я снова пишу пример кода в конце «Advanced R:глава 1″следующим образом ##########################################################

 rm(list = ls())

create_random_df <- function (ncol, nrow) {
  df <- as.data.frame(matrix (sample.int(n = ncol*nrow, replace = T), ncol = ncol))
  attr(df, 'names') <- 1:ncol
  
  df
}

subtract_df <- function (df, medians) {
  for (i in seq_along(df)) {
    df[[i]] <- df[[i]] - medians[i]
  }
  
  invisible(df)
}

subtract_ls <- function (df, medians) {
  ll <- as.list(df)
  for (i in seq_along(ll)) {
    ll[[i]] <- ll[[i]] - medians[i]
  }
  invisible(list2DF(x = ll))
}


bechmark_median <- function(ncol, nrow) {
  dd.df <- create_random_df(ncol, nrow)
  md <- sapply(dd.df, median)
  
  bench::mark(
    "data frame" = subtract_df(dd.df, md),
    "list" = subtract_ls(dd.df, md),
    time_unit = "ms",
    memory = F,
    check = F,
    filter_gc = F,
    
  )
}

res.rc <- bench::press(
  xcol = c(5, 10, 15),
  xrow = c(1000, 2000, 3000, 4000),
  
  {
    bechmark_median(xcol, xrow)
  }
)
 

##############################################

когда я хочу показать результат (например) в этих двух случаях, количество строк разное!!

res.rc[,2:6]

res.rc[,1:6]

Я предполагаю, что первая колонка вызывает эту проблему.