#' Table descritive analysis
#' @description Function for generating a data.frame with averages or other descriptive measures grouped by a categorical variable
#' @author Gabriel Danilo Shimizu
#' @param data data.frame containing the first column with the categorical variable and the remaining response columns
#' @param fun function of descriptive statistics (default is mean)
#' @export
#' @example
# dados=data.frame(trat=rep(paste("T",1:20),e=5),
# x1=rnorm(100,10,1),
# x2=rnorm(100,10,1),
# x3=rnorm(100,10,1),
# x4=rnorm(100,10,1))
# tabledesc(dados)
tabledesc=function(data,fun=mean){
dados=data[,-1]
trat=as.vector(unlist(data[,1]))
n=nlevels(as.factor(trat))
nr=ncol(dados)-1
medias=data.frame(matrix(1:(n*nr),ncol = nr))
for(i in 1:ncol(dados)){
medias[,i]=tapply(as.vector(unlist(dados[,i])), trat, fun)[unique(trat)]}
colnames(medias)=colnames(dados)
medias=data.frame(GEN=unique(trat),medias)
print(medias)}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.