def funcionprincipal(dato,variable,opciones): from rpy import r #pylint: disable=import-error diccionario={"Descriptivo":{"Media":None,"Varianza":None,u"Desviación":None,"Mediana":None,"Moda":None,"Rango":None,u"Máximo":None,u"Mínimo":None,"Percentil":None,"Curtosis":None,u"Coeficiente de Asimetría":None}} lista=dato.query(str(variable)) diccionario["Descriptivo"]["Variable"]=str(variable) diccionario["Descriptivo"][u"Número de casos"]=len(lista) if opciones.has_key("Media"): diccionario["Descriptivo"]["Media"]=r.mean(lista) if opciones.has_key("Varianza"): diccionario["Descriptivo"]["Varianza"]=r.var(lista) if opciones.has_key(u"Desviación"): diccionario["Descriptivo"][u"Desviación"]=r.sd(lista) if opciones.has_key("Mediana"): diccionario["Descriptivo"]["Mediana"]=r.median(lista) #http://cran.r-project.org/doc/contrib/Lemon-kickstart/kr_dstat.html #http://wiki.r-project.org/rwiki/doku.php?id=tips:stats-basic:modalvalue&s=modal if opciones.has_key("Moda"): diccionario["Descriptivo"]["Moda"]=__moda(lista) if opciones.has_key("Rango"): diccionario["Descriptivo"]["Rango"]=r.range(lista) if opciones.has_key(u"Máximo"): diccionario["Descriptivo"][u"Máximo"]=r.max(lista) if opciones.has_key(u"Mínimo"): diccionario["Descriptivo"][u"Mínimo"]=r.min(lista) if opciones.has_key("Percentil"): diccionario["Descriptivo"]["Percentil"]="TODO" if opciones.has_key("Curtosis"): r.require("e1071") diccionario["Descriptivo"]["Curtosis"]=r.kurtosis(lista) if opciones.has_key(u"Coeficiente de Asimetría"): r.require("e1071") diccionario["Descriptivo"][u"Coeficiente de Asimetría"]=r.skewness(lista) return diccionario
def summary_stat_of_accuracy_ls(self, acc_ls): """ 11-17-05 get average, standard deviation from acc_ls """ accuracy_ls, no_of_predictions_ls, no_of_genes_ls = [], [], [] for row in acc_ls: accuracy_ls.append(row[0]) no_of_predictions_ls.append(row[2]) no_of_genes_ls.append(row[3]) no_of_samples = float(len(acc_ls)) accuracy_avg = sum(accuracy_ls)/no_of_samples accuracy_std = r.sqrt(r.var(accuracy_ls)/no_of_samples) no_of_predictions_avg = sum(no_of_predictions_ls)/no_of_samples no_of_predictions_std = r.sqrt(r.var(no_of_predictions_ls)/no_of_samples) no_of_genes_avg = sum(no_of_genes_ls)/no_of_samples no_of_genes_std = r.sqrt(r.var(no_of_genes_ls)/no_of_samples) return [accuracy_avg,accuracy_std,no_of_predictions_avg,no_of_predictions_std,no_of_genes_avg,no_of_genes_std]