R/getNames.R

Defines functions getNames

Documented in getNames

#' Finds and returns the column or row names of a data frame
#'
#' @param data Optional data frame
#'
#' @return Names as vector
#' @export
#'
#'
getNames <- function(data = NA, margin) {


  if(length(data) == 1) {
    if(is.na(data)) {
      message("Choose data frame: ")
      data <- getDataFrame()
    }
  }


  if(!hasArg(margin)) {
    margin <- 0
  }

  while(!margin %in% 1:2) {
    message("")
    message("From rows: ")
    print(head(rownames(data)))

    message("")
    message("From columns: ")
    print(head(colnames(data)))

    margin <- as.numeric(readline("Rows (1) or columns (2)? "))
  }

  #Rows
  if(margin == 1) {

    ok <- FALSE

    while(!ok) {

      message("Row names: ")
      print(rownames(data))
      message("")

      prefix <- readline("What's the prefix for the data? ")

      message("Found row names: ")
      print(rownames(data)[regexpr(prefix, rownames(data)) != -1])

      ok <- ok("Samples ok?")

    }


    return <- rownames(data)[regexpr(prefix, rownames(data)) != -1]

  }

  #Columns
  if(margin == 2) {

    ok <- FALSE

    while(!ok) {

      message("Column names: ")
      print(colnames(data))
      message("")

      prefix <- readline("What's the prefix for the data? ")

      message("Found column names: ")
      print(colnames(data)[regexpr(prefix, colnames(data)) != -1])

      ok <- ok("Samples ok?")

    }


    return <- colnames(data)[regexpr(prefix, colnames(data)) != -1]

  }


  return

}
nicohuttmann/htmnanalysis documentation built on Dec. 6, 2020, 3:02 a.m.