R/headTail.R

Defines functions headTail

headTail <- function(x, n_head = 6L, n_tail = n_head, n_col_head = if(ncol(x) > 50) n_head else NULL, n_col_tail = n_col_head) {
	
	if(n_head + n_tail > nrow(x)) {
	    n_head <- nrow(x)
	   	n_tail <- 0
	}   
	
    if(!is.null(n_col_head)) {	
	   if(n_col_head + n_col_tail > ncol(x)) {
	       n_col_head <- ncol(x)
	   	   n_col_tail <- 1
	   }
    }
	
    out <- rbind(head(x, n = n_head), tail(x, n = n_tail))
    
    if(!is.null(n_col_head) & !is.null(n_col_tail) ) 
       out <- out[, c(1:n_col_head, (ncol(x) - n_col_tail + 1):ncol(x))]
    
    if(is.null(n_col_head) & !is.null(n_col_tail) ) 
       out <- out[, (ncol(x) - n_col_tail + 1):ncol(x)]
           
    if(!is.null(n_col_head) & is.null(n_col_tail) ) 
       out <- out[, 1:n_col_head]
   
   print(out)
   cat("\nDimension:", dim(x), "\n\n")
   
   invisible(out)
}
John-R-Wallace/R-ToolBox documentation built on May 2, 2024, 9:29 p.m.