# TODO: Add comment
# 
# Author: E.Korsching  2025
###############################################################################



# customize count data table

co.count <- function(x){
	# x: count data table
	# make matrix, remove empty rows, set 0>,<1 to 1, set to integer
	x <- as.matrix(x)
	dnl <- length(dimnames(x)[[2]])
	nrx <- nrow(x)
	cat("\n## pre-customization")
	cat(paste("\nnumber of columns in ",dnl," rows ",nrx,sep=""))
	# check
	isn <- sum(is.na(x))
	cat(paste("\nis NA number         ",isn,sep=""))
	iszero <- sum(x==0)
	cat(paste("\nis ZERO number       ",iszero," / ",dnl*nrx,sep=""))
	# remove all '0' rows
	a <- apply(x,1,sum)
	x <- x[!(a==0),]
	nrx2 <- nrow(x)
	cat(paste("\nremaining rows       ",nrx2,sep=""))
	# adjust
	x[x<1 & x>=0] <- as.integer(1)
	cadj <- sum(x<1 & x>=0)
	cat(paste("\nremaining <1 ?       ",cadj,sep=""))
	mode(x) <- "integer"
	cat(paste("\nstorage.mode of x ?  ",storage.mode(x),sep=""))
	rxx <- range(x)
	cat(paste("\nrange of x           ",rxx[1]," - ",rxx[2],sep=""))
	# short summary
	cat(paste("\n\n",nrx," -> ",nrx2,", range ",rxx[1]," - ",rxx[2],"\n",sep=""))
	return(x)
}



