Argel Gastélum Arellánez
2010-Sep-23 07:10 UTC
[R-es] Contraste polinomial con dos factores con niveles no equidistantes
Hola compañeros de la lista, qué tal. Los molesto con la siguiente duda: Tengo un experimento con dos factores A y B, cada uno de los cuales tiene los siguientes niveles (que son concentraciones de dos hormonas vegetales aplicadas a plantas): niveles del factor A: 0, 0.2, 0.5, 1 niveles del factor B: 0, 0.1, 0.2, 0.5, 1 y mi variable de respuesta es continua, todo dentro del set de datos llamado "datos". Mi asesor de tesis me recomienda que en vez de aplicar una anova de dos factores, que mejor aproveche que los factores A y B son continuos en vez de categóricos, y que mejor aplique un contraste polinomial para analizar los datos. Como se habrán dado cuenta, los niveles de los factores no son equidistantes, condición que según entiendo es necesaria para poder codificar los mismos con la función "contr.poly". Investigando por la red encontré que existe una forma de codificar usando unas fórmulas que se pueden aplicar cuando los niveles no son equidistantes, y revisando la ayuda de la función "contr.poly" encontré el argumento "scores", que en la ayuda dice: "scores: the set of values over which orthogonal polynomials are to be computed" Viendo esto estoy usando la función de la siguiente forma: contrasts(datos$A) <- contr.poly(4, scores = c(0, 0.2, 0.5, 1)) contrasts(datos$B) <- contr.poly(5, scores = c(0, 0.1, 0.2, 0.5, 1)) con lo que obtengo valores diferentes a cuando uso la función sólo como "contrasts(datos$A) <- contr.poly(4)" y "contrasts(datos$A) <- contr.poly(5)". Después aplico la siguiente orden: anova.dos.vias.contraste.polinomial = aov(respuesta ~ A * B, data = datos) summary(anova.dos.vias.contraste.polinomial, split = list(A = list(AL=1,AQ=2,AC=3), B = list(BL=1,BQ=2,BC=3,BT=4))) Mi duda es si es correcto usar la función "contr.poly" de esta forma y, sobre todo, si puede ser correcto realizar los contrastes polinomiales de esta forma cuando los niveles de los factores no son equidistantes. De antemano muchas gracias por la ayuda. Saludos. -- Argel.
Argel Gastélum Arellánez
2010-Oct-13 20:06 UTC
[R-es] Contraste polinomial con dos factores con niveles no equidistantes
El 23/09/10 02:10, Argel Gastélum Arellánez escribió:> Hola compañeros de la lista, qué tal. > > Los molesto con la siguiente duda: Tengo un experimento con dos > factores A y B, cada uno de los cuales tiene los siguientes niveles > (que son concentraciones de dos hormonas vegetales aplicadas a plantas): > niveles del factor A: 0, 0.2, 0.5, 1 > niveles del factor B: 0, 0.1, 0.2, 0.5, 1 > y mi variable de respuesta es continua, todo dentro del set de datos > llamado "datos". > > Mi asesor de tesis me recomienda que en vez de aplicar una anova > de dos factores, que mejor aproveche que los factores A y B son > continuos en vez de categóricos, y que mejor aplique un contraste > polinomial para analizar los datos. Como se habrán dado cuenta, los > niveles de los factores no son equidistantes, condición que según > entiendo es necesaria para poder codificar los mismos con la función > "contr.poly". > > Investigando por la red encontré que existe una forma de codificar > usando unas fórmulas que se pueden aplicar cuando los niveles no son > equidistantes, y revisando la ayuda de la función "contr.poly" > encontré el argumento "scores", que en la ayuda dice: > > "scores: the set of values over which orthogonal polynomials are to be > computed" > > Viendo esto estoy usando la función de la siguiente forma: > contrasts(datos$A) <- contr.poly(4, scores = c(0, 0.2, 0.5, 1)) > contrasts(datos$B) <- contr.poly(5, scores = c(0, 0.1, 0.2, 0.5, 1)) > con lo que obtengo valores diferentes a cuando uso la función sólo > como "contrasts(datos$A) <- contr.poly(4)" y "contrasts(datos$A) <- > contr.poly(5)". Después aplico la siguiente orden: > > anova.dos.vias.contraste.polinomial = aov(respuesta ~ A * B, data = > datos) > > summary(anova.dos.vias.contraste.polinomial, split = list(A = > list(AL=1,AQ=2,AC=3), B = list(BL=1,BQ=2,BC=3,BT=4))) > > Mi duda es si es correcto usar la función "contr.poly" de esta > forma y, sobre todo, si puede ser correcto realizar los contrastes > polinomiales de esta forma cuando los niveles de los factores no son > equidistantes. > > De antemano muchas gracias por la ayuda. > > Saludos. > > -- > Argel.Hola compañeros, qué tal. No sé si habrá llegado la primera vez que lo envié, por si las dudas, ahí va de nuevo. Saludos y de antemano gracias por la ayuda. -- Argel.
Argel Gastélum Arellánez
2010-Oct-13 20:08 UTC
[R-es] Contraste polinomial con dos factores con niveles no equidistantes
El 23/09/10 02:10, Argel Gastélum Arellánez escribió:> Hola compañeros de la lista, qué tal. > > Los molesto con la siguiente duda: Tengo un experimento con dos > factores A y B, cada uno de los cuales tiene los siguientes niveles > (que son concentraciones de dos hormonas vegetales aplicadas a plantas): > niveles del factor A: 0, 0.2, 0.5, 1 > niveles del factor B: 0, 0.1, 0.2, 0.5, 1 > y mi variable de respuesta es continua, todo dentro del set de datos > llamado "datos". > > Mi asesor de tesis me recomienda que en vez de aplicar una anova > de dos factores, que mejor aproveche que los factores A y B son > continuos en vez de categóricos, y que mejor aplique un contraste > polinomial para analizar los datos. Como se habrán dado cuenta, los > niveles de los factores no son equidistantes, condición que según > entiendo es necesaria para poder codificar los mismos con la función > "contr.poly". > > Investigando por la red encontré que existe una forma de codificar > usando unas fórmulas que se pueden aplicar cuando los niveles no son > equidistantes, y revisando la ayuda de la función "contr.poly" > encontré el argumento "scores", que en la ayuda dice: > > "scores: the set of values over which orthogonal polynomials are to be > computed" > > Viendo esto estoy usando la función de la siguiente forma: > contrasts(datos$A) <- contr.poly(4, scores = c(0, 0.2, 0.5, 1)) > contrasts(datos$B) <- contr.poly(5, scores = c(0, 0.1, 0.2, 0.5, 1)) > con lo que obtengo valores diferentes a cuando uso la función sólo > como "contrasts(datos$A) <- contr.poly(4)" y "contrasts(datos$A) <- > contr.poly(5)". Después aplico la siguiente orden: > > anova.dos.vias.contraste.polinomial = aov(respuesta ~ A * B, data = > datos) > > summary(anova.dos.vias.contraste.polinomial, split = list(A = > list(AL=1,AQ=2,AC=3), B = list(BL=1,BQ=2,BC=3,BT=4))) > > Mi duda es si es correcto usar la función "contr.poly" de esta > forma y, sobre todo, si puede ser correcto realizar los contrastes > polinomiales de esta forma cuando los niveles de los factores no son > equidistantes. > > De antemano muchas gracias por la ayuda. > > Saludos. > > -- > Argel.Hola compañeros, qué tal. No sé si habrá llegado la primera vez que lo envié, por si las dudas, ahí va de nuevo. Saludos y de antemano gracias por la ayuda. -- Argel.
Apparently Analagous Threads
- Realizar anovas, por cada uno de los niveles de uno de los factores del ensayo
- Dibujar una espiral
- que valores está informando R en summary???
- effective df in local polinomial regression
- Transformar muchas variables factor en variables binarias de acuerdo a niveles