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 median(self, resp, x): y = r.median(x); resp.addData('median', y) return
def median(x): return r.median(x)
def median(self, resp, x): y = r.median(x) resp.addData('median', y) return