[R-es] FactoMineR

Freddy Omar López Quintero freddy.vate01 en gmail.com
Dom Nov 17 18:13:17 CET 2013


Hola.

Como te dijo Carlos, el problema está en los nombres de las columnas y en
los nombres de las filas. Cuando hice la importación (con
dd<-read.csv('mortality.csv'), tuve problemas con las filas de nombre:

   - Malignant tumour of the larynx trachea bronchus and lungs
   - Malignant tumour of the lip pharynx and mouth
   - Other endocrinological metabolic and nutritional conditions

que se me corrían a la derecha creándome una columna más. Corregido esto
(dentro del archivo csv) procedí como sigue y todo corrió aparentemente
bien:

dd<-read.csv('mortality_modificado.csv') # modificado sin mucho cuidado. En
tu caso debes adecuarlo bien a tus necesidades
dd2<-dd[,2:19]
rownames(dd2)<-dd[,1]
colnames(dd2)<-colnames(mortality)

res<-MFA(dd2,group=c(9,9),type=c("f","f"), name.group=c("1979","2006"))

Ojalá te sea de ayuda.

¡Salud!



2013/11/17 Carlos Ortega <cof en qualityexcellence.es>

> Hola,
>
> El problema está con el nombre de las columnas y las filas del fichero que
> importas.
> Mira este detalle tras hacer la importación:
>
> > names(mort)
>  [1] "X"                 "X15.24..79."       "X25.34..79."
>  [4] "X35.44..79."       "X45.54..79."       "X55.64..79."
>  [7] "X65.74..79."       "X75.84..79."       "X85.94..79."
> [10] "X95.and.more..79." "X15.24..06."       "X25.34..06."
> [13] "X35.44..06."       "X45.54..06."       "X55.64..06."
> [16] "X65.74..06."       "X75.84..06."       "X85.94..06."
> [19] "X95.and.more..06."
> > head(mort$X)
> [1] Accidental poisoning
> [2] Addiction to prescription medication
> [3] Alcohol abuse and alcohol-related psychosis
> [4] Asthma
> [5] Blood and hematopoietic disorders
> [6] Cerebrovascular disease
> 65 Levels: 1109 1869 36 ... Viral hepatitis
>
> En cambio mira el dataset "mortality":
> > names(mortality)
>  [1] "15-24 (79)"       "25-34 (79)"       "35-44 (79)"
>  [4] "45-54 (79)"       "55-64 (79)"       "65-74 (79)"
>  [7] "75-84 (79)"       "85-94 (79)"       "95 and more (79)"
> [10] "15-24 (06)"       "25-34 (06)"       "35-44 (06)"
> [13] "45-54 (06)"       "55-64 (06)"       "65-74 (06)"
> [16] "75-84 (06)"       "85-94 (06)"       "95 and more (06)"
> > head(rownames(mortality))
> [1] "Accidental poisoning"
> [2] "Addiction to prescription medication"
> [3] "Alcohol abuse and alcohol-related psychosis"
> [4] "Asthma"
> [5] "Blood and hematopoietic disorders"
> [6] "Cerebrovascular disease"
>
> Entonces tienes que:
>
>    - Hacer que los rownames de "mort" sean mort$X. Esto se hace así:
>    rownames(mort) <- mort$X
>    - Y los names de "mort" tengan la misma forma que en mortality. Si no
>    cuando haces el análisis el que digas name.group=c("1979","2006"), no
>    funciona...
>
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
> El 17 de noviembre de 2013 12:19, Dr. José A Betancourt Bethencourt <
> jbetancourt en iscmc.cmw.sld.cu> escribió:
>
> >
> >
> > Estimados
> >
> > Queremos con el paquete FactoMineR  hacer este tipo de tabla de
> mortalidad
> > que lea los datos desde de una tabla csv
> >
> > Realizamos lo que viene en la ayuda y es muy interesante, sin embargo
> > cuando mandamos a leer desde la tabla csv original de los autores
> >
> > no hace el análisis porque algo falta y no nos percatamos de que es.
> > Adjunto tabla original
> >
> > Saludos cordiales
> >
> >
> >
> > #ESTO ES LO QUE VIENE EN LA AYUDA Y TRABAJA BIEN
> >
> > rm(list = ls())
> >
> > library(FactoMineR)
> >
> > data(mortality)
> >
> > library(epicalc)
> >
> > des(mortality) #Agregue esto para comparar las dos datas
> >
> > res<-MFA(mortality,group=c(9,9),type=c("f","f"),  # REALIZA EL ANÁLISIS
> > BIEN
> >
> >          name.group=c("1979","2006"))
> >
> > plot(res,choix="freq",invisible="ind",habillage="group")
> >
> >
> >
> > #CON LA TABLA ORGINAL en csv NO NOS FUNCIONA, ?algo nos falta?
> >
> >
> >
> > rm(list = ls())
> >
> > setwd("D:/Public/Documents/R/FactoMineR/")
> >
> > mortality<-read.csv("mortality.csv",header=TRUE,sep=",", dec=".")
> >
> > library(epicalc)
> >
> > des(mortality) #Agregue esto para comparar las dos datas y difieren los
> > resultados
> >
> > library(FactoMineR)
> >
> > res<-MFA(mortality,group=c(9,9),type=c("f","f"),   #NO REALIZA EL
> ANÁLISIS
> >
> >          name.group=c("1979","2006"))
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
> >
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>


-- 
«But Gwindor answered: 'The doom lies in yourself, not in your name.'»

JRR Tolkien
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20131117/69392d37/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: mortality_modificado.csv
Type: text/csv
Size: 6197 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20131117/69392d37/attachment-0001.bin>


Más información sobre la lista de distribución R-help-es