R/xl_pwys.R

Defines functions xl_pwys

Documented in xl_pwys

#' Make XL data frame for \code{writexl}
#' 
#' Make pathways table into XL data frame for \code{writexl} by adding hyperlink column with cleaned filenames for URLs.
#' 
#' @inheritParams roast_contrasts
#' @inheritParams write_linked_xl
#' @return A data frame with xl links
#' \describe{
#'   \item{\code{xl}}{}
#'   \item{\code{pwy.csv.nms}}{vector of pathway names to write to csv files}
#' }

xl_pwys <- function(pwy.tab, pwy.nchar=199){
  stopifnot(nrow(pwy.tab) > 0, ncol(pwy.tab) > 0)

  pwys <- rownames(pwy.tab)
  # don't allow invalid names in pwys, which are written as filenames
  pwys.clean <- clean_filenames(pwys, nm.nchar=pwy.nchar)
  
  urls <- paste0("pathways/", pwys.clean, ".csv")
  xl_links <- writexl::xl_hyperlink(url=urls, name = pwys)
  xl <- data.frame(xl_links, pwy.tab, stringsAsFactors = FALSE)
  rownames(xl) <- pwys.clean
  # 1st col is rownames
  colnames(xl)[1] <- ""
  return(xl)
}
jdreyf/ezlimma documentation built on April 28, 2024, 1:10 p.m.