Disculpar! adjunto los datos con los que ando trabajando! Muchas gracias de nuevo, Lorena El 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 >------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140112/3b3304b4/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: TUN.xlsx Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Size: 313546 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140112/3b3304b4/attachment-0001.bin>
Hola Lorena, Yo creo que tu problema está en los datos. ¿Cómo los importas a R? Si los guardas como .csv (recuerda separar por ";" ya que tu punto decimal es la ",") el siguiente código funciona:> data <- read.csv2("lorena.csv")> modeloM <- lm (AVE ~ d1 + as.factor(d1T)*Tariff, data = data)> summary(modeloM)Call: lm(formula = AVE ~ d1 + as.factor(d1T) * Tariff, data = data) Residuals: Min 1Q Median 3Q Max -0.4165 -0.4108 -0.3148 0.3892 1.8855 Coefficients: (6 not defined because of singularities) Estimate Std. Error t value Pr(>|t|) (Intercept) 0.409368 0.039462 10.374 <2e-16 *** d1 -0.415491 0.392979 -1.057 0.291 as.factor(d1T)0.2 0.855461 0.555154 1.541 0.124 as.factor(d1T)0.8426 0.803343 0.675695 1.189 0.235 as.factor(d1T)1.25 0.001986 0.503250 0.004 0.997 as.factor(d1T)1.5 1.101158 0.674452 1.633 0.103 as.factor(d1T)1.85 NA NA NA NA Tariff 0.003310 0.043248 0.077 0.939 as.factor(d1T)0.2:Tariff NA NA NA NA as.factor(d1T)0.8426:Tariff NA NA NA NA as.factor(d1T)1.25:Tariff NA NA NA NA as.factor(d1T)1.5:Tariff NA NA NA NA as.factor(d1T)1.85:Tariff NA NA NA NA --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.5505 on 553 degrees of freedom (190 observations deleted due to missingness) Multiple R-squared: 0.01096, Adjusted R-squared: 0.0002324 F-statistic: 1.022 on 6 and 553 DF, p-value: 0.4101 *####################################################################* Si necesitas automatizar la lectura del .xlsx puedes usar el paquete XLConnect, pero tendrás que definir bien la importación porque la importación "por defecto" no importa los datos bien debido al formato y/o contenido de las celdas. Un saludo, *_____________________________________* *Emilio López Cano* +34 665 676 225 http://es.linkedin.com/in/emilopezcano www.proyectum.es 2014-01-12 13:59 GMT+01:00 Lorena Tudela Marco <lorenatudelamarco@gmail.com> :> Disculpar! adjunto los datos con los que ando trabajando! > > Muchas gracias de nuevo, > > Lorena > > > > El 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 >> > > > _______________________________________________ > 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 Lorena, Dale una mirada a el paquete gdata:> require(gdata) > d <- read.xls('~/Downloads/TUN.xlsx', header = TRUE) > head(d)Code.Poduct Chapter AVE. Tariff d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 1 10110 1 NA 0.564 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 10111 1 0.1 NA 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 10119 1 0.1 NA 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10120 1 0.3 NA 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10190 1 NA 1.100 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 10210 1 1.1 1.500 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d16 d17 d18 d19 d20 d21 d22 d1T d2T d3T d4T d5T d6T d7T d8T d9T d10T d11T d12T 1 0 0 0 0 0 0 0 0.564 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 NA NA NA NA NA NA NA NA NA NA NA NA 3 0 0 0 0 0 0 0 NA NA NA NA NA NA NA NA NA NA NA NA 4 0 0 0 0 0 0 0 NA NA NA NA NA NA NA NA NA NA NA NA 5 0 0 0 0 0 0 0 1.100 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 1.500 0 0 0 0 0 0 0 0 0 0 0 d13T d14T d15T d16T d17T d18T d19T d20T d21T d22T 1 0 0 0 0 0 0 0 0 0 0 2 NA NA NA NA NA NA NA NA NA NA 3 NA En cuanto a tu pregunta, no creo que "d1T" deba ser un factor:> class(d[, "d1T"])[1] "numeric">> table(d[, "d1T"], useNA = 'always')0 0.2 0.2288 0.2575 0.2767 0.564 0.8426 1.1 1.25 1.5 1.85 <NA> 672 8 1 1 1 1 1 1 6 1 2 55 Ahora, si haces d <- d[, "d1T'] y corres tu modelo de nuevo,> fit <- lm (AVE. ~ d1 + d1T*Tariff, data = d) > summary(fit)Call: lm(formula = AVE. ~ d1 + d1T * Tariff, data = d) Residuals: Min 1Q Median 3Q Max -0.4165 -0.4108 -0.3149 0.3896 1.8855 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.409363 0.039526 10.357 <2e-16 *** d1 0.584455 0.558648 1.046 0.296 d1T -0.677138 1.257898 -0.538 0.591 Tariff 0.003317 0.043319 0.077 0.939 d1T:Tariff 0.104556 0.613356 0.170 0.865 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.5515 on 555 degrees of freedom (190 observations deleted due to missingness) Multiple R-squared: 0.003959, Adjusted R-squared: -0.00322 F-statistic: 0.5515 on 4 and 555 DF, p-value: 0.698 Saludos, Jorge.- 2014-01-12 23:59 GMT+11:00 Lorena Tudela Marco <lorenatudelamarco@gmail.com> :> Disculpar! adjunto los datos con los que ando trabajando! > > Muchas gracias de nuevo, > > Lorena > > > > El 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 >> > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]