Buenos días, Me gustaría aplicar una regresión múltiple a los datos con los que trabajo pero no se como introducir los datos en R. He probado introducir el siguiente comando: modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) summary(modeloM) Pero me da el siguiente error:> summary(modeloM)Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else sum(f^2) : argument is of length zero Mi intención es calcular la siguiente regresión: Ave = cte + d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. Imagino que no estoy introduciendo correctamente el comando inicial del modelo y por eso me da error ¿Alguien esta trabajando en temas similares o podría orientarme ? Muchas gracias, cualquier aportación sera bienvenida! Un abrazo, que tengáis un buen día. Lorena [[alternative HTML version deleted]]
Estimada Lorena Yo hace tiempo que no uso lm, simplemente porque uso otras librerías, por lo que escribo puede estar desactualizado, pero intentaría modificar el modelo para ver que pasa, por un lado cambiar * por +, no es lo mismo pero si R corre el problema no es de R, es del modelo estadístico (*). Otra posibilidad es quitar el as.factor y pasarlo al data.frame, yo defino en este lugar (es mi forma). (*)Me paso de tener problemas con modelos, en un trabajo pase de lm a lme4, todo bien, salvo que si los datos eran de ovejas corría, si eran de vacas aparecían errores, solo era numérico, por decirlo de alguna forma, las vacas son más grandes que las ovejas, por lo que no me quedo otra que migrar de librarías, por lo que el modelo estadístico puede ser bueno si otra librería lo resuelve porque tiene los algoritmos adecuados. Javier Marcuzzi El 12/01/2014 09:53 a.m., Lorena Tudela Marco escribió:> Buenos días, > > Me gustaría aplicar una regresión múltiple a los datos con los que trabajo pero > no se como introducir los datos en R. He probado introducir el siguiente > comando: > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > summary(modeloM) > > Pero me da el siguiente error: > >> summary(modeloM) > Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else sum(f^2) > : > argument is of length zero > > Mi intención es calcular la siguiente regresión: Ave = cte + > d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 > Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. > > Imagino que no estoy introduciendo correctamente el comando inicial del > modelo y por eso me da error ¿Alguien esta trabajando en temas similares o > podría orientarme ? > > Muchas gracias, cualquier aportación sera bienvenida! > > Un abrazo, que tengáis un buen día. > > Lorena > > [[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, ¿qué tal? Si tu comando (copio textualmente) es modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) y tu variable dependiente se llama AVE, te sobra un punto (detrás de AVE). Por otra parte, no sé si as.factor dentro de una fórmula funciona como uno espera. Modificaría la variable de antemano, si procede (porque, posiblemente, p.e., si es textual, no sea necesario). Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 12 de enero de 2014, 13:53, Lorena Tudela Marco <lorenatudelamarco en gmail.com> escribió:> Buenos días, > > Me gustaría aplicar una regresión múltiple a los datos con los que trabajo pero > no se como introducir los datos en R. He probado introducir el siguiente > comando: > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > summary(modeloM) > > Pero me da el siguiente error: > >> summary(modeloM) > Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else sum(f^2) > : > argument is of length zero > > Mi intención es calcular la siguiente regresión: Ave = cte + > d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 > Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. > > Imagino que no estoy introduciendo correctamente el comando inicial del > modelo y por eso me da error ¿Alguien esta trabajando en temas similares o > podría orientarme ? > > Muchas gracias, cualquier aportación sera bienvenida! > > Un abrazo, que tengáis un buen día. > > Lorena > > [[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 >
Hola, Por otro lado, creo que Lorena sería conveniente que revisaras la ayuda de "formula()". Cuando indicas d1T*Tariff estás indicando d1T + Tariff + d1T:Tariff "... *In addition to + and :, a number of other operators are useful in model formulae. The * operator denotes factor crossing: a*b interpreted as a+b+a:b. The ^ operator indicates crossing to the specified degree. For example (a+b+c)^2 is identical to (a+b+c)*(a+b+c) which in turn expands to a formula containing the main effects for a, b and c together with their second-order interactions. The %in% operator indicates that the terms on its left are nested within those on the right. For example a + b %in% a expands to the formula a + a:b. The - operator removes the specified terms, so that (a+b+c)^2 - a:b is identical to a + b + c + b:c + a:c. It can also used to remove the intercept term: when fitting a linear model y ~ x - 1 specifies a line through the origin. A model with no intercept can be also specified as y ~ x + 0 or y ~ 0 + x.* ..." Que no sé si es lo que realmente quieres... Saludos, Carlos Ortega www.qualityexcellence.es El 12 de enero de 2014, 15:28, Carlos J. Gil Bellosta <cgb@datanalytics.com>escribió:> Hola, ¿qué tal? > > Si tu comando (copio textualmente) es > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > > y tu variable dependiente se llama AVE, te sobra un punto (detrás de > AVE). Por otra parte, no sé si as.factor dentro de una fórmula > funciona como uno espera. Modificaría la variable de antemano, si > procede (porque, posiblemente, p.e., si es textual, no sea necesario). > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > El día 12 de enero de 2014, 13:53, Lorena Tudela Marco > <lorenatudelamarco@gmail.com> escribió: > > Buenos días, > > > > Me gustaría aplicar una regresión múltiple a los datos con los que > trabajo pero > > no se como introducir los datos en R. He probado introducir el siguiente > > comando: > > > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > > summary(modeloM) > > > > Pero me da el siguiente error: > > > >> summary(modeloM) > > Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else > sum(f^2) > > : > > argument is of length zero > > > > Mi intención es calcular la siguiente regresión: Ave = cte + > > d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 > > Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. > > > > Imagino que no estoy introduciendo correctamente el comando inicial del > > modelo y por eso me da error ¿Alguien esta trabajando en temas similares > o > > podría orientarme ? > > > > Muchas gracias, cualquier aportación sera bienvenida! > > > > Un abrazo, que tengáis un buen día. > > > > Lorena > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > _______________________________________________ > 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 [[alternative HTML version deleted]]
Estimada Lorena Hoy a la mañana escribí medio dormido y cometí varios errores de redacción, disculpas. En este lugar https://personality-project.org/r/r.lm.html hay en pocas palabras y ejemplos sobre como se deberían escribir modelos en lm (pienso que su caso entraría en los ejemplos). En el resto de las cosas estoy de acuerdo con la ayuda de los dos Carlos, simplemente agrego solo por las dudas el como yo uso el as.factor (el data.frame es LA y en este paso Tambo a ser un factor, reemplazando en el mismo lugar de la memoria) LA$Tambo <- as.factor(LA$Tambo) Javier Marcuzzi El 12/01/2014 09:53 a.m., Lorena Tudela Marco escribió:> Buenos días, > > Me gustaría aplicar una regresión múltiple a los datos con los que trabajo pero > no se como introducir los datos en R. He probado introducir el siguiente > comando: > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > summary(modeloM) > > Pero me da el siguiente error: > >> summary(modeloM) > Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else sum(f^2) > : > argument is of length zero > > Mi intención es calcular la siguiente regresión: Ave = cte + > d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 > Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. > > Imagino que no estoy introduciendo correctamente el comando inicial del > modelo y por eso me da error ¿Alguien esta trabajando en temas similares o > podría orientarme ? > > Muchas gracias, cualquier aportación sera bienvenida! > > Un abrazo, que tengáis un buen día. > > Lorena > > [[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]]
Si AVE es la variable dependiente y Tarrif "LA" variable independiente: ¿Quién son d1 y d1T? Como dice Carlos, as.factor dentro de la fórmula no es buena idea, es más seguro que la variable d1T sea convertida en factor previamente. Saludos. El 12/01/14 13:53, Lorena Tudela Marco escribió:> Buenos días, > > Me gustaría aplicar una regresión múltiple a los datos con los que trabajo pero > no se como introducir los datos en R. He probado introducir el siguiente > comando: > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > summary(modeloM) > > Pero me da el siguiente error: > >> summary(modeloM) > Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else sum(f^2) > : > argument is of length zero > > Mi intención es calcular la siguiente regresión: Ave = cte + > d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 > Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. > > Imagino que no estoy introduciendo correctamente el comando inicial del > modelo y por eso me da error ¿Alguien esta trabajando en temas similares o > podría orientarme ? > > Muchas gracias, cualquier aportación sera bienvenida! > > Un abrazo, que tengáis un buen día. > > Lorena > > [[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]]
Buenos días, *Muchas gracias, todas las aportaciones han sido bien útiles.* Las he tenido en cuenta y he pasado los datos con el R, siguiendo el siguiente comando: *modeloRTUN2<-lm(AVE.~ Tariff + d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9+ d10 + d11+ d12+ d13+ d14+ d15+ d16+ d17+ d18+ d19+ d20 +d21 + Tariff*d1 + Tariff*d2 + Tariff*d10)* *summary(modeloRTUN2)* Siendo: AVE. = Variable dependiente (explicada) Tariff = Variable dependiente (explicativa) d1.....d22= los diferentes productos (dimensión producto: para comprobar si el tipo producto tiene efecto sobre AVE.) Tariff * d1 = efecto fijo del producto y tariff En resumen me gustaría comprobar si existe trade off entre las dos variables NTM y Tariff y conocer que productos son significativos (conocer que productos tienen presentan mas protección en frontera). Me surge ahora otra duda ...que diferencia hay en colocar "Tariff*d2" y "Tariff:d2", en ambos casos es la multiplicación de las dos variables? Adjunto la base de datos en formato excel al email, para que sea mas fácil entenderme. Un abrazo mas y* muchas gracias, que tengáis un buen día.* Realmente todos los consejos han sido aportaciones muy valiosas para que pudiese seguir avanzando, os lo agradezco! Seguimos hablando ;) Lorena El 13 de enero de 2014, 9:46, José Trujillo <trujillo en unex.es> escribió:> Si AVE es la variable dependiente y Tarrif "LA" variable independiente: > > ¿Quién son d1 y d1T? > > Como dice Carlos, as.factor dentro de la fórmula no es buena idea, es > más seguro que la variable d1T sea convertida en factor previamente. > > Saludos. > > > El 12/01/14 13:53, Lorena Tudela Marco escribió: > > Buenos días, > > > > Me gustaría aplicar una regresión múltiple a los datos con los que > trabajo pero > > no se como introducir los datos en R. He probado introducir el siguiente > > comando: > > > > modeloM<-lm(AVE.~ d1 + as.factor(d1T)*Tariff) > > summary(modeloM) > > > > Pero me da el siguiente error: > > > >> summary(modeloM) > > Error in if (attr(z$terms, "intercept")) sum((f - mean(f))^2) else > sum(f^2) > > : > > argument is of length zero > > > > Mi intención es calcular la siguiente regresión: Ave = cte + > > d1*coeficiente1 + (d1T*Tariff)*coeficiente 2 > > Siendo: AVE, la variable dependiente y Tarrif, la variable independiente. > > > > Imagino que no estoy introduciendo correctamente el comando inicial del > > modelo y por eso me da error ¿Alguien esta trabajando en temas similares > o > > podría orientarme ? > > > > Muchas gracias, cualquier aportación sera bienvenida! > > > > Un abrazo, que tengáis un buen día. > > > > Lorena > > > > [[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 > > > [[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 > >------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140114/45f0658f/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: TUNISIA.docx Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document Size: 22094 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140114/45f0658f/attachment-0001.bin>