Hola Ana Rosa: Necesitaríamos conocer cuál es el objetivo de tu análisis de datos porque si lo que buscas es realizar un aprendizaje de tipo supervisado (en el que los individuos están etiquetados como "improntados" o "no improntados") no parece muy razonable decantarse por un PCA (que es una técnica de aprendizaje no supervisado). ¿Podrías darnos esta información? Quizás, de esa forma, podamos ayudarte mejor. Un saludo. Message: 2> Date: Tue, 5 Jul 2011 14:45:35 +0200 > From: Ana Rosa Cortazar <anarokin@gmail.com> > To: r-help-es@r-project.org > Subject: [R-es] Análisis PCA > Message-ID: > <CAPrUOjtAZbfdS9JoOeM7=WXo3ErPM2ybNby7gOWTAgPQbH2HRA@mail.gmail.com > > > Content-Type: text/plain; charset="iso-8859-1" > > Buenos días a todos, > > Estoy llevando a cabo un análisis PCA para un proyecto de fin de master y > me > encuentro atascada. Consigo llevar a cabo digo análisis y obtengo el > screeplot correspondiente (adjunto al mensaje) en el que se ven las > diferencias entre los dos grupos de datos (genes improntados y no > improntados respectivamente) en función de si son improntados o no (con > ello > se vé claramente cómo afecta la PC1 a los resultados porque tengo esos dos > grupos claramente diferenciados a ambos lados del eje Y). El problema que > me > encuentro es que he de buscar algún subgrupo dentro de estos datos (debido > a > la PC2) y mostrarlo gráficamente pero no sé como hacerlo. > > El código que llevo a cabo es el siguiente: > > > prcomp(genesNormalizados[9:12]) > > Standard deviations: > > [1] 1.5625489 0.9081340 0.8302286 0.2108412 > > > Rotation: > > PC1 PC2 PC3 PC4 > > bpNormalizado -0.5911346 0.3843897 0.06367693 0.70622212 > > islasNormalizado -0.5875981 0.3965476 -0.08979227 -0.69958259 > > simpleNormalizado -0.3935477 -0.5693253 0.71687078 -0.08417327 > > tandemNormalizado -0.3878254 -0.6089854 -0.68846124 0.06891572 > > > summary(prcomp(genesNormalizados[9:12])) > > Importance of components: > > PC1 PC2 PC3 PC4 > > Standard deviation 1.5625 0.9081 0.8302 0.21084 > > Proportion of Variance 0.6104 0.2062 0.1723 0.01111 > > Cumulative Proportion 0.6104 0.8166 0.9889 1.00000 > > > plot(genes.pca$scores[, 1], genes.pca$scores[, 2], col = c("blue", > "red")[unclass(genesNormalizados$Improntados)], pch = c(17, 18)) > > > ¿Alguna sugerencia? Muchas gracias a todos por adelantado. > > Un saludo > > Ana Rosa Cortazar. > ------------ próxima parte ------------ > Se ha borrado un adjunto en formato HTML... > URL: < > https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.html > > > ------------ próxima parte ------------ > A non-text attachment was scrubbed... > Name: captura.png > Type: image/png > Size: 20145 bytes > Desc: no disponible > URL: < > https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.png > > > > ------------------------------ >-- *Juan José Gibaja Martíns* blog: http://www.jjgibaja.net cv: http://www.linkedin.com/pub/juan-josé-gibaja-martíns/6/554/643 skype: jjgibaja III Jornadas de Usuarios de R: http://www.usar.org.es [[alternative HTML version deleted]]
Claro, perdón por no añadir la explicación! Dispongo de unos 50 genes, de los cuales unos están improntados y otros no. Se busca saber si existe alguna característica estructural que permita diferenciar en futuros estudios aquellos genes improntados de los no improntados. Para ello dispongo de 5 carcterísticas, de las cuales, tras un análisis previo, me he quedado con 4 de ellas (que son las que veis en mi análisis PCA). La idea es que, como con un análisis PCA se puede obtener un gráfico representativo de los scores de los datos, ver si se agrupan de alguna forma determinada que me ayude a reconocer algún patrón. Me baso en el estudio que puede consultarse aqui: http://www.hindawi.com/journals/cfg/2009/549387/. Para que sirva de referencia, lo que intento hacer es conseguir una gráfica como la que se ve en la *Figura 1* Muchas gracias Ana Rosa Cortazar. El 5 de julio de 2011 19:42, Juan José Gibaja Martíns <jjgibaja@gmail.com>escribió:> Hola Ana Rosa: > > Necesitaríamos conocer cuál es el objetivo de tu análisis de datos porque > si > lo que buscas es realizar un aprendizaje de tipo supervisado (en el que los > individuos están etiquetados como "improntados" o "no improntados") no > parece muy razonable decantarse por un PCA (que es una técnica de > aprendizaje no supervisado). > > ¿Podrías darnos esta información? Quizás, de esa forma, podamos ayudarte > mejor. > > Un saludo. > > > Message: 2 > > > Date: Tue, 5 Jul 2011 14:45:35 +0200 > > From: Ana Rosa Cortazar <anarokin@gmail.com> > > To: r-help-es@r-project.org > > Subject: [R-es] Análisis PCA > > Message-ID: > > <CAPrUOjtAZbfdS9JoOeM7> WXo3ErPM2ybNby7gOWTAgPQbH2HRA@mail.gmail.com > > > > > Content-Type: text/plain; charset="iso-8859-1" > > > > Buenos días a todos, > > > > Estoy llevando a cabo un análisis PCA para un proyecto de fin de master y > > me > > encuentro atascada. Consigo llevar a cabo digo análisis y obtengo el > > screeplot correspondiente (adjunto al mensaje) en el que se ven las > > diferencias entre los dos grupos de datos (genes improntados y no > > improntados respectivamente) en función de si son improntados o no (con > > ello > > se vé claramente cómo afecta la PC1 a los resultados porque tengo esos > dos > > grupos claramente diferenciados a ambos lados del eje Y). El problema que > > me > > encuentro es que he de buscar algún subgrupo dentro de estos datos > (debido > > a > > la PC2) y mostrarlo gráficamente pero no sé como hacerlo. > > > > El código que llevo a cabo es el siguiente: > > > > > prcomp(genesNormalizados[9:12]) > > > > Standard deviations: > > > > [1] 1.5625489 0.9081340 0.8302286 0.2108412 > > > > > > Rotation: > > > > PC1 PC2 PC3 PC4 > > > > bpNormalizado -0.5911346 0.3843897 0.06367693 0.70622212 > > > > islasNormalizado -0.5875981 0.3965476 -0.08979227 -0.69958259 > > > > simpleNormalizado -0.3935477 -0.5693253 0.71687078 -0.08417327 > > > > tandemNormalizado -0.3878254 -0.6089854 -0.68846124 0.06891572 > > > > > summary(prcomp(genesNormalizados[9:12])) > > > > Importance of components: > > > > PC1 PC2 PC3 PC4 > > > > Standard deviation 1.5625 0.9081 0.8302 0.21084 > > > > Proportion of Variance 0.6104 0.2062 0.1723 0.01111 > > > > Cumulative Proportion 0.6104 0.8166 0.9889 1.00000 > > > > > plot(genes.pca$scores[, 1], genes.pca$scores[, 2], col = c("blue", > > "red")[unclass(genesNormalizados$Improntados)], pch = c(17, 18)) > > > > > > ¿Alguna sugerencia? Muchas gracias a todos por adelantado. > > > > Un saludo > > > > Ana Rosa Cortazar. > > ------------ próxima parte ------------ > > Se ha borrado un adjunto en formato HTML... > > URL: < > > > https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.html > > > > > ------------ próxima parte ------------ > > A non-text attachment was scrubbed... > > Name: captura.png > > Type: image/png > > Size: 20145 bytes > > Desc: no disponible > > URL: < > > > https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.png > > > > > > > ------------------------------ > > > > -- > *Juan José Gibaja Martíns* > > blog: http://www.jjgibaja.net > cv: http://www.linkedin.com/pub/juan-josé-gibaja-martíns/6/554/643 > skype: jjgibaja > > III Jornadas de Usuarios de R: http://www.usar.org.es > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Hola Rosa: Tras tu mensaje, me reafirmo en mi anterior apreciación. Si el objetivo final de tu trabajo es tratar de predecir si un gen es de una clase o de otra a partir de un conjunto de variables cuantitativas, nos encontramos en un ambiente de aprendizaje supervisado (los individuos tienen una etiqueta preestablecida), en el que no tiene mucho sentido aplicar una técnica como el PCA (de aprendizaje no supervisado). De hecho, tu estrategia de análisis consistiría (si lo he entendido bien) en ver qué patrón detecta el PCA y ver si ese patrón detectado -las puntuaciones de los genes en los componentes principales- coinciden con el patrón preestablecido (la clasificación en clase "improntados" y clase "no improntados"). No parece una estrategia muy adecuada. Hay que señalar que el PCA podría tener sentido si tuvieras inicialmente una enorme cantidad de variables explicativas moderadamente correlacionadas entre sí y quisieras reducir su número a un conjunto de componentes principales incorrelados que recojan una parte máxima de la información disponible. Los mismos autores que citas utilizan, tras el PCA, un *Quadratic Discriminant Analysis*, que es una técnica de aprendizaje de tipo supervisado, mucho más adecuada para tus fines. Otras alternativas podrían ser un árbol de clasificación (método CART, presente en el *package *rpart de R) o un bosque aleatorio (*package *randomForest). Seguro que por aquí hay expertos que te pueden echar una mano con ellos. Ánimo y un saludo. Juanjo Gibaja 2011/7/5 Ana Rosa Cortazar <anarokin@gmail.com>> Claro, perdón por no añadir la explicación! > > Dispongo de unos 50 genes, de los cuales unos están improntados y otros no. > Se busca saber si existe alguna característica estructural que permita > diferenciar en futuros estudios aquellos genes improntados de los no > improntados. > > Para ello dispongo de 5 carcterísticas, de las cuales, tras un análisis > previo, me he quedado con 4 de ellas (que son las que veis en mi análisis > PCA). > > La idea es que, como con un análisis PCA se puede obtener un gráfico > representativo de los scores de los datos, ver si se agrupan de alguna forma > determinada que me ayude a reconocer algún patrón. > > Me baso en el estudio que puede consultarse aqui: > http://www.hindawi.com/journals/cfg/2009/549387/. > > Para que sirva de referencia, lo que intento hacer es conseguir una gráfica > como la que se ve en la *Figura 1* > > Muchas gracias > Ana Rosa Cortazar. > > El 5 de julio de 2011 19:42, Juan José Gibaja Martíns <jjgibaja@gmail.com>escribió: > >> Hola Ana Rosa: >> >> Necesitaríamos conocer cuál es el objetivo de tu análisis de datos porque >> si >> lo que buscas es realizar un aprendizaje de tipo supervisado (en el que >> los >> individuos están etiquetados como "improntados" o "no improntados") no >> parece muy razonable decantarse por un PCA (que es una técnica de >> aprendizaje no supervisado). >> >> ¿Podrías darnos esta información? Quizás, de esa forma, podamos ayudarte >> mejor. >> >> Un saludo. >> >> >> Message: 2 >> >> > Date: Tue, 5 Jul 2011 14:45:35 +0200 >> > From: Ana Rosa Cortazar <anarokin@gmail.com> >> > To: r-help-es@r-project.org >> > Subject: [R-es] Análisis PCA >> > Message-ID: >> > <CAPrUOjtAZbfdS9JoOeM7>> WXo3ErPM2ybNby7gOWTAgPQbH2HRA@mail.gmail.com >> > > >> > Content-Type: text/plain; charset="iso-8859-1" >> > >> > Buenos días a todos, >> > >> > Estoy llevando a cabo un análisis PCA para un proyecto de fin de master >> y >> > me >> > encuentro atascada. Consigo llevar a cabo digo análisis y obtengo el >> > screeplot correspondiente (adjunto al mensaje) en el que se ven las >> > diferencias entre los dos grupos de datos (genes improntados y no >> > improntados respectivamente) en función de si son improntados o no (con >> > ello >> > se vé claramente cómo afecta la PC1 a los resultados porque tengo esos >> dos >> > grupos claramente diferenciados a ambos lados del eje Y). El problema >> que >> > me >> > encuentro es que he de buscar algún subgrupo dentro de estos datos >> (debido >> > a >> > la PC2) y mostrarlo gráficamente pero no sé como hacerlo. >> > >> > El código que llevo a cabo es el siguiente: >> > >> > > prcomp(genesNormalizados[9:12]) >> > >> > Standard deviations: >> > >> > [1] 1.5625489 0.9081340 0.8302286 0.2108412 >> > >> > >> > Rotation: >> > >> > PC1 PC2 PC3 PC4 >> > >> > bpNormalizado -0.5911346 0.3843897 0.06367693 0.70622212 >> > >> > islasNormalizado -0.5875981 0.3965476 -0.08979227 -0.69958259 >> > >> > simpleNormalizado -0.3935477 -0.5693253 0.71687078 -0.08417327 >> > >> > tandemNormalizado -0.3878254 -0.6089854 -0.68846124 0.06891572 >> > >> > > summary(prcomp(genesNormalizados[9:12])) >> > >> > Importance of components: >> > >> > PC1 PC2 PC3 PC4 >> > >> > Standard deviation 1.5625 0.9081 0.8302 0.21084 >> > >> > Proportion of Variance 0.6104 0.2062 0.1723 0.01111 >> > >> > Cumulative Proportion 0.6104 0.8166 0.9889 1.00000 >> > >> > > plot(genes.pca$scores[, 1], genes.pca$scores[, 2], col = c("blue", >> > "red")[unclass(genesNormalizados$Improntados)], pch = c(17, 18)) >> > >> > >> > ¿Alguna sugerencia? Muchas gracias a todos por adelantado. >> > >> > Un saludo >> > >> > Ana Rosa Cortazar. >> > ------------ próxima parte ------------ >> > Se ha borrado un adjunto en formato HTML... >> > URL: < >> > >> https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.html >> > > >> > ------------ próxima parte ------------ >> > A non-text attachment was scrubbed... >> > Name: captura.png >> > Type: image/png >> > Size: 20145 bytes >> > Desc: no disponible >> > URL: < >> > >> https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.png >> > > >> > >> > ------------------------------ >> > >> >> -- >> *Juan José Gibaja Martíns* >> >> blog: http://www.jjgibaja.net >> cv: http://www.linkedin.com/pub/juan-josé-gibaja-martíns/6/554/643 >> skype: jjgibaja >> >> III Jornadas de Usuarios de R: http://www.usar.org.es >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >-- *Juan José Gibaja Martíns* blog: http://www.jjgibaja.net cv: http://www.linkedin.com/pub/juan-josé-gibaja-martíns/6/554/643 skype: jjgibaja III Jornadas de Usuarios de R: http://www.usar.org.es [[alternative HTML version deleted]]
Hola Ana, Antes de comentar detalles sobre la técnica estadística más apropiada que puedes aplicar a tu estudio, intento aportar alguna solución más en la construcción del gráfico que buscas. De tus comentarios tan sólo tienes de los genes si son improntados o no, por tanto dos grupos. Estos dos grupos son los que representaste en el gráfico que incluiste en tu primer correo de este hilo: dos grupos, dos colores. Mientras que en la "Figura 1" del artículo que referencias, dentro de cada uno de esos dos grupos hay dos tipos (I1, I2, NO_I1, NO_I2). Si en tus datos tienes estos dos grupos, puedes indicar en el gráfico que cada grupo se represente con un color o con una forma diferente. Pero esto, no tiene nada que ver con el valor del componente principal PC2, sino con el grupo al que pertenece cada individuo (cada gen). Ahora sobre la técnica estadística, en la línea que ha comentado Juan José, cuando comentaste que ibas a utilizar un análisis tipo PCA, se presupone que has realizado la comprobación de que tus variables explicativas (las asociadas a cada gen) tienen correlación. Esto lo puedes hacer en R de dos formas: a) de forma gráfica representando las relaciones a pares de las variables (un simple plot de tu data.frame) y b) utilizando la función "cor()" aplicándola igualmente al data.frame. En ambos casos, debieras de obviar la columna que distingue el grupo (improntado/no-improntado) de cada gen. Si hay evidencia de correlación entre las variables, sí que el PCA es un método adecuado. Pero claro, igualmente a mi modo de entender, debes incluir el screeplot que demuestra que puedes quedarte con los dos primeros componentes. Así has reducido la "complejidad" de tu modelo (múltiples variables) a otro más sencillo de dos, eso sí al ser combinación lineal de tus variables iniciales, su interpretación es más complicada, detalle en el que no entra el artículo que has referenciado. Efectivamente si buscas encontrar un método de clasificación de tus genes a partir de las variables asociadas, los árboles de clasificación (yo prefiero el paquete "party" porque ya resuelve el árbol más compacto directamente, algo que hay que estudiar en "rpart). Pero bueno, incluso antes de ir a métodos como estos algo más sofisticados, la pertenencia o no al grupo de los improntados/no-improntados, puedes modelarlo con un modelo lineal generalizado (glm en R). La elección de uno u otro dependerá de la bondad del ajuste. Y si quieres ir todavía más lejos, y no optar por un modelo en particular, a través de otras librerías como "Rattle", o "caret" puedes automatizar el proceso de selección del modelo más adecuado. Estas dos librerías te ofrecen la posibilidad de barrer múltiples modelos (lineales, lineales generalizados, redes neuronales, árboles, incluso support-vector-machines) e indicarte cuál es que mejor ajuste ofrece a tu caso. Saludos, Carlos Ortega www.qualityexcellence.es 2011/7/5 Ana Rosa Cortazar <anarokin@gmail.com>> Claro, perdón por no añadir la explicación! > > Dispongo de unos 50 genes, de los cuales unos están improntados y otros no. > Se busca saber si existe alguna característica estructural que permita > diferenciar en futuros estudios aquellos genes improntados de los no > improntados. > > Para ello dispongo de 5 carcterísticas, de las cuales, tras un análisis > previo, me he quedado con 4 de ellas (que son las que veis en mi análisis > PCA). > > La idea es que, como con un análisis PCA se puede obtener un gráfico > representativo de los scores de los datos, ver si se agrupan de alguna > forma > determinada que me ayude a reconocer algún patrón. > > Me baso en el estudio que puede consultarse aqui: > http://www.hindawi.com/journals/cfg/2009/549387/. > > Para que sirva de referencia, lo que intento hacer es conseguir una gráfica > como la que se ve en la *Figura 1* > > Muchas gracias > Ana Rosa Cortazar. > > El 5 de julio de 2011 19:42, Juan José Gibaja Martíns > <jjgibaja@gmail.com>escribió: > > > Hola Ana Rosa: > > > > Necesitaríamos conocer cuál es el objetivo de tu análisis de datos porque > > si > > lo que buscas es realizar un aprendizaje de tipo supervisado (en el que > los > > individuos están etiquetados como "improntados" o "no improntados") no > > parece muy razonable decantarse por un PCA (que es una técnica de > > aprendizaje no supervisado). > > > > ¿Podrías darnos esta información? Quizás, de esa forma, podamos ayudarte > > mejor. > > > > Un saludo. > > > > > > Message: 2 > > > > > Date: Tue, 5 Jul 2011 14:45:35 +0200 > > > From: Ana Rosa Cortazar <anarokin@gmail.com> > > > To: r-help-es@r-project.org > > > Subject: [R-es] Análisis PCA > > > Message-ID: > > > <CAPrUOjtAZbfdS9JoOeM7> > WXo3ErPM2ybNby7gOWTAgPQbH2HRA@mail.gmail.com > > > > > > > Content-Type: text/plain; charset="iso-8859-1" > > > > > > Buenos días a todos, > > > > > > Estoy llevando a cabo un análisis PCA para un proyecto de fin de master > y > > > me > > > encuentro atascada. Consigo llevar a cabo digo análisis y obtengo el > > > screeplot correspondiente (adjunto al mensaje) en el que se ven las > > > diferencias entre los dos grupos de datos (genes improntados y no > > > improntados respectivamente) en función de si son improntados o no (con > > > ello > > > se vé claramente cómo afecta la PC1 a los resultados porque tengo esos > > dos > > > grupos claramente diferenciados a ambos lados del eje Y). El problema > que > > > me > > > encuentro es que he de buscar algún subgrupo dentro de estos datos > > (debido > > > a > > > la PC2) y mostrarlo gráficamente pero no sé como hacerlo. > > > > > > El código que llevo a cabo es el siguiente: > > > > > > > prcomp(genesNormalizados[9:12]) > > > > > > Standard deviations: > > > > > > [1] 1.5625489 0.9081340 0.8302286 0.2108412 > > > > > > > > > Rotation: > > > > > > PC1 PC2 PC3 PC4 > > > > > > bpNormalizado -0.5911346 0.3843897 0.06367693 0.70622212 > > > > > > islasNormalizado -0.5875981 0.3965476 -0.08979227 -0.69958259 > > > > > > simpleNormalizado -0.3935477 -0.5693253 0.71687078 -0.08417327 > > > > > > tandemNormalizado -0.3878254 -0.6089854 -0.68846124 0.06891572 > > > > > > > summary(prcomp(genesNormalizados[9:12])) > > > > > > Importance of components: > > > > > > PC1 PC2 PC3 PC4 > > > > > > Standard deviation 1.5625 0.9081 0.8302 0.21084 > > > > > > Proportion of Variance 0.6104 0.2062 0.1723 0.01111 > > > > > > Cumulative Proportion 0.6104 0.8166 0.9889 1.00000 > > > > > > > plot(genes.pca$scores[, 1], genes.pca$scores[, 2], col = c("blue", > > > "red")[unclass(genesNormalizados$Improntados)], pch = c(17, 18)) > > > > > > > > > ¿Alguna sugerencia? Muchas gracias a todos por adelantado. > > > > > > Un saludo > > > > > > Ana Rosa Cortazar. > > > ------------ próxima parte ------------ > > > Se ha borrado un adjunto en formato HTML... > > > URL: < > > > > > > https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.html > > > > > > > ------------ próxima parte ------------ > > > A non-text attachment was scrubbed... > > > Name: captura.png > > > Type: image/png > > > Size: 20145 bytes > > > Desc: no disponible > > > URL: < > > > > > > https://stat.ethz.ch/pipermail/r-help-es/attachments/20110705/c910cf2a/attachment.png > > > > > > > > > > ------------------------------ > > > > > > > -- > > *Juan José Gibaja Martíns* > > > > blog: http://www.jjgibaja.net > > cv: http://www.linkedin.com/pub/juan-josé-gibaja-martíns/6/554/643 > > skype: jjgibaja > > > > III Jornadas de Usuarios de R: http://www.usar.org.es > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]