Hola:

Gracias por interesar-te per el problema!

Explico las líneas generales de lo que quiero hacer. La mayor parte de mi 
trabajo es analizar datos de estudios ajenos. Hasta ahora lo hacia con SAS y 
tengo una macro  que le paso el nombre del fichero y las variables y la macro 
realiza, según si la variable es cualitativa o cuantitativa (no afino más el 
tipo de variable):
- Descriptiva: 
   - Tabla de frecuencias para variables cualitativas.
   - Variables cuantitativas: estadísticos básicos, listado de los 5 casos 
extremos (máximo y mínimo) y box-plot
- Análisis univariado con variable dependiente cualitativa:
  - Variables independientes cualitativas:
      - Tabla de contingencia con Chi2 i Fisher
      - Odds ratios
  - Variables independientes cuantitativas:
      - Estadísticos básicos según los valores de la variable dependiente.
      - Box-plot para cada categoría de la variable dependiente.
      - Prueba de Kruskal-Wallis
      - Odds ratio
- Análisis univariado con variable dependiente quantitiativa:
  - Variables independientes cualitativas:
      - Estadísticos i bosd plot de la var dependiente para cada categoría de 
la independiente.
      - Test de Kruskal-Wallis.
  - Variables independientes cuantitativas:
      - Regresión lineal simple con los diagramas de dispersión.

Hace de forma "automática" alguna cosa más, pero no quiero cansarte.

Te envío al mail personal dos pdf con dos ejemplos, un análisis descriptivo y 
una univariado como variable dependiente cualitativa.

En R estoy haciendo es enviar a una función el nombre de la tabla de datos, las 
variables que no se han de analizar y el nombre de la variable dependiente si 
se quiere un análisis univariado:

  La función DESUNI llama a la función DES (análisis descriptivo) y UNI 
(análisis univariado). Éstas recorren los nombres de las variables de la tabla 
de datos y según el tipo de variable independiente (numérica o factor) ejecuta 
la función correspondiente. Adjunto al final como ejemplo las funciones DESUNI 
y DES.

Con esto se genera una descriptiva básica y un análisis univariado básico que 
permite conocer las variables del fichero y empezar a comentar con el 
investigador que análisis realizar. El ahorro de tiempo es considerable.

Espero que se me haya entendido y disculpad esta respuesta tan larga.

Gracias por la ayuda y saludos.

=============================================
DESUNI = function(XDADES,
                  XDROP=NULL,
                  XVD=NULL,
                  XSPV=NULL # Si és una anàlisi de SPV # Pot tenir el valor TRUE
                  )
  {
  # Camí de les funcions
  XCAMIF="~/sys/utils/apps/r/r_funcions/"
  options(digits = 3, OutDec=",", scipen=999)
  ## No existeix VD: descriptiva
  if(is.null(XVD))   # No existeix VD: descriptiva
    {
      cat("\n*** Descriptiva (no existeix variable dependent)\n")
      source(paste(XCAMIF, "des.r", sep=""))
      DES(XDADES=XDADES, XDROP=XDROP, XCAMIF=XCAMIF)
    }  
  ## Existeis VD: anàlisi univariat
  else               # Existeis VD: anàlisi univariat
    {
      source(paste(XCAMIF, "uni.r", sep=""))
      UNI(XDADES=XDADES, XDROP=XDROP, XVD=XVD, XSPV=XSPV, XCAMIF=XCAMIF)
    }
  }
=============================================
Funció DES:
DES = function(XDADES,  XDROP=NULL, XCAMIF)
  {
    ifelse(is.null(XDROP), DADES_S <- XDADES, DADES_S <- XDADES[, 
setdiff(names(XDADES), XDROP) ])
    attach(DADES_S, warn.conflicts = F)
    XVARLLI=names(DADES_S)
    for (XVARNOM in names(DADES_S))
      {
        if(is.numeric(get(XVARNOM)))
          {
            source(paste(XCAMIF, "des_quanti.r", sep=""))
            DES_QUANTI (XVARNOM)
          }
        else if(is.factor(get(XVARNOM)))
          {
            source(paste(XCAMIF, "des_quali.r", sep=""))
            DES_QUALI (XVARNOM)
          }
      else
        {
          cat("La variable ", XVARNOM, "no és de cap dels tipus coneguts", "\n")
        } 
      }    
    detach(DADES_S)
  }
=============================================


On Mon, 13 Jul 2015 20:56:59 +0200
Carlos Ortega <c...@qualityexcellence.es> wrote:

> Hola,
> 
> ¿Qué tipo de análisis quieres hacer?
> Porque de "fábrica" R ya viene con múltiples funciones para el cálculo de
> diferentes estadísticas descriptivas para todo tipo de variables.
> 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
> 
> El 13 de julio de 2015, 15:33, Griera <gri...@yandex.com> escribió:
> 
> > Hola:
> >
> > Con esto del R me da la impresión que avanzo un paso y retrocedo dos!
> >
> > El caso es que tengo una "cascada de funciones", para realizar un análisis
> > descriptivo "automático" en función del tipo de variable. Y en los
> > resultados, en lugar de aparecer el nombre de la variable, aparece el
> > nombre del argumento. Esto ocurre tanto si utilizo o no la función get().
> >
> > Un ejemplo resumen reproducible:
> >
> > =============================
> > # Con la función get()
> > A <- function (XVD, XVI, XDATOS)
> >   {
> >     attach(XDATOS)
> >     B(XVD, XVI)
> >     detach(XDATOS)
> >   }
> >
> > B <- function (XVD, XVI)
> >   {
> >     TBL = xtabs(~get(XVD) + get(XVI))
> >     print(TBL)
> >     print(summary(TBL))
> >   }
> >
> >
> > DATOS <- data.frame(SE=c("M", "H", "M", "M", "H"),
> >                     EDAD=c(50, 60, 20, 18, 30),
> >                     GRP=c("B", "B", "A", "A", "B"))
> > A("GRP", "SE", DATOS)
> >
> > La tabla que imprime és:
> >
> >         get(XVI)
> > get(XVD) H M
> >        A 0 2
> >        B 2 1
> >
> >
> >
> > Sin la función get():
> > =============================
> > # Sin la función get()
> > A <- function (XVD, XVI, XDATOS)
> >   {
> >     attach(XDATOS)
> >     B(XVD, XVI)
> >     detach(XDATOS)
> >   }
> >
> > B <- function (XVD, XVI)
> >   {
> >     TBL = xtabs(~XVD + XVI)
> >     print(TBL)
> >     print(summary(TBL))
> >   }
> > A(GRP, SE, DATOS)
> >
> > La tabla que imprime és:
> > > A(GRP, SE, DATOS)
> >    XVI
> > XVD H M
> >   A 0 2
> >   B 2 1
> > =============================
> >
> >
> > Alguien puede orienter-me como solucionarlo y que en los resultados
> > aperzca el nombre de la variable en lugar del argumento de la función?
> >
> > Muchas gracias y saludos.
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> 
> 
> 
> -- 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a