Hola Juan. ¿Si yo en vez de querer obtener la media quiero sacar el porcentaje de casos que son menores que la media como lo haría? Saludos, Sebastián. El 17 de septiembre de 2013 03:34, Joan Carmona <jcmld@carmonarocha.com>escribió:> Hola Sebastián, > > Qué tal así:? > > > t<-data.frame(A=c(1,2,3,4,5,6,7,8,9,10),B=c(1,1,2,2,3,3,4,4,5,5),C=c(1,1,1,1 > > ,2,2,2,2,3,3),X1=c(10,20,30,11,21,31,12,22,32,13),X2=c(0.33,1.81,1.42,0.35,1 > > .75,1.4,0.375,1.69,3.2,0.65),X3=c(25,36,46,26,37,47,27,38,50,28),X4=c(1,1,1, > 2,2,2,3,3,3,3)) > > > aggregate(cbind(X1,X2)~B+C,t,mean) > > B C X1 X2 > 1 1 1 15.0 1.0700 > 2 2 1 20.5 0.8850 > 3 3 2 26.0 1.5750 > 4 4 2 17.0 1.0325 > 5 5 3 22.5 1.9250 > > aggregate(cbind(X3,X4)~B+C,t,median) > > B C X3 X4 > 1 1 1 30.5 1.0 > 2 2 1 36.0 1.5 > 3 3 2 42.0 2.0 > 4 4 2 32.5 3.0 > 5 5 3 39.0 3.0 > > Saludos, > > Juan Carmona. > > -----Mensaje original----- > De: r-help-es-bounces@r-project.org [mailto: > r-help-es-bounces@r-project.org] > En nombre de Sebastian Kruk > Enviado el: lunes, 16 de septiembre de 2013 22:44 > Para: Lista R > Asunto: [R-es] ayuda con aggregate > > Estimados usuarios de R: > > Estoy aprendiendo a usar el comando aggregate. > > Por ejemplo tengo la siguiente tabla: > > A B C X1 X2 X3 X4 > 1 1 1 10 0,333333333 25 1 > 2 1 1 20 1,818181818 36 1 > 3 2 1 30 1,428571429 46 1 > 4 2 1 11 0,35483871 26 2 > 5 3 2 21 1,75 37 2 > 6 3 2 31 1,409090909 47 2 > 7 4 2 12 0,375 27 3 > 8 4 2 22 1,692307692 38 3 > 9 5 3 32 3,2 50 3 > 10 5 3 13 0,65 28 3 > Yo quiero agrupar usando como variables clave A, B y C pero para X1 y X2 > quiero obtener la media y para X3 y X4 la mediana. > > ¿Como tendría que usar el comando aggregate? > > Desde ya muchas gracias, > > Sebastián. > > [[alternative HTML version deleted]] > > >[[alternative HTML version deleted]]
Sebastián, Una forma es aggregate(cbind(X1,X2) ~ B + C, t, function(x) mean(x < mean(x))) Saludos, Jorge.- 2013/9/25 Sebastian Kruk <residuo.solow@gmail.com>> Hola Juan. > > ¿Si yo en vez de querer obtener la media quiero sacar el porcentaje de > casos que son menores que la media como lo haría? > > Saludos, > > Sebastián. > > > El 17 de septiembre de 2013 03:34, Joan Carmona > <jcmld@carmonarocha.com>escribió: > > > Hola Sebastián, > > > > Qué tal así:? > > > > > > > t<-data.frame(A=c(1,2,3,4,5,6,7,8,9,10),B=c(1,1,2,2,3,3,4,4,5,5),C=c(1,1,1,1 > > > > > ,2,2,2,2,3,3),X1=c(10,20,30,11,21,31,12,22,32,13),X2=c(0.33,1.81,1.42,0.35,1 > > > > > .75,1.4,0.375,1.69,3.2,0.65),X3=c(25,36,46,26,37,47,27,38,50,28),X4=c(1,1,1, > > 2,2,2,3,3,3,3)) > > > > > > aggregate(cbind(X1,X2)~B+C,t,mean) > > > > B C X1 X2 > > 1 1 1 15.0 1.0700 > > 2 2 1 20.5 0.8850 > > 3 3 2 26.0 1.5750 > > 4 4 2 17.0 1.0325 > > 5 5 3 22.5 1.9250 > > > > aggregate(cbind(X3,X4)~B+C,t,median) > > > > B C X3 X4 > > 1 1 1 30.5 1.0 > > 2 2 1 36.0 1.5 > > 3 3 2 42.0 2.0 > > 4 4 2 32.5 3.0 > > 5 5 3 39.0 3.0 > > > > Saludos, > > > > Juan Carmona. > > > > -----Mensaje original----- > > De: r-help-es-bounces@r-project.org [mailto: > > r-help-es-bounces@r-project.org] > > En nombre de Sebastian Kruk > > Enviado el: lunes, 16 de septiembre de 2013 22:44 > > Para: Lista R > > Asunto: [R-es] ayuda con aggregate > > > > Estimados usuarios de R: > > > > Estoy aprendiendo a usar el comando aggregate. > > > > Por ejemplo tengo la siguiente tabla: > > > > A B C X1 X2 X3 X4 > > 1 1 1 10 0,333333333 25 1 > > 2 1 1 20 1,818181818 36 1 > > 3 2 1 30 1,428571429 46 1 > > 4 2 1 11 0,35483871 26 2 > > 5 3 2 21 1,75 37 2 > > 6 3 2 31 1,409090909 47 2 > > 7 4 2 12 0,375 27 3 > > 8 4 2 22 1,692307692 38 3 > > 9 5 3 32 3,2 50 3 > > 10 5 3 13 0,65 28 3 > > Yo quiero agrupar usando como variables clave A, B y C pero para X1 y X2 > > quiero obtener la media y para X3 y X4 la mediana. > > > > ¿Como tendría que usar el comando aggregate? > > > > Desde ya muchas gracias, > > > > Sebastián. > > > > [[alternative HTML version deleted]] > > > > > > > > [[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]]
Jorge: En la base que tenía yo había una variable dicotómica, tomaba el valor 1 o 2. Como me interesaba tener el porcentaje de las que eran mayores menores que dos lo que hice fue: aggregate(cbind(X1,X2) ~ B + C, t, function(x) mean(x < 2)) Saludos, Sebastián. El 25 de septiembre de 2013 10:41, Jorge I Velez <jorgeivanvelez@gmail.com>escribió:> Sebastián, > > Una forma es > > aggregate(cbind(X1,X2) ~ B + C, t, function(x) mean(x < mean(x))) > > Saludos, > Jorge.- > > > > 2013/9/25 Sebastian Kruk <residuo.solow@gmail.com> > >> Hola Juan. >> >> ¿Si yo en vez de querer obtener la media quiero sacar el porcentaje de >> casos que son menores que la media como lo haría? >> >> Saludos, >> >> Sebastián. >> >> >> El 17 de septiembre de 2013 03:34, Joan Carmona >> <jcmld@carmonarocha.com>escribió: >> >> > Hola Sebastián, >> > >> > Qué tal así:? >> > >> > >> > >> t<-data.frame(A=c(1,2,3,4,5,6,7,8,9,10),B=c(1,1,2,2,3,3,4,4,5,5),C=c(1,1,1,1 >> > >> > >> ,2,2,2,2,3,3),X1=c(10,20,30,11,21,31,12,22,32,13),X2=c(0.33,1.81,1.42,0.35,1 >> > >> > >> .75,1.4,0.375,1.69,3.2,0.65),X3=c(25,36,46,26,37,47,27,38,50,28),X4=c(1,1,1, >> > 2,2,2,3,3,3,3)) >> > >> > >> > aggregate(cbind(X1,X2)~B+C,t,mean) >> > >> > B C X1 X2 >> > 1 1 1 15.0 1.0700 >> > 2 2 1 20.5 0.8850 >> > 3 3 2 26.0 1.5750 >> > 4 4 2 17.0 1.0325 >> > 5 5 3 22.5 1.9250 >> > >> > aggregate(cbind(X3,X4)~B+C,t,median) >> > >> > B C X3 X4 >> > 1 1 1 30.5 1.0 >> > 2 2 1 36.0 1.5 >> > 3 3 2 42.0 2.0 >> > 4 4 2 32.5 3.0 >> > 5 5 3 39.0 3.0 >> > >> > Saludos, >> > >> > Juan Carmona. >> > >> > -----Mensaje original----- >> > De: r-help-es-bounces@r-project.org [mailto: >> > r-help-es-bounces@r-project.org] >> > En nombre de Sebastian Kruk >> > Enviado el: lunes, 16 de septiembre de 2013 22:44 >> > Para: Lista R >> > Asunto: [R-es] ayuda con aggregate >> > >> > Estimados usuarios de R: >> > >> > Estoy aprendiendo a usar el comando aggregate. >> > >> > Por ejemplo tengo la siguiente tabla: >> > >> > A B C X1 X2 X3 X4 >> > 1 1 1 10 0,333333333 25 1 >> > 2 1 1 20 1,818181818 36 1 >> > 3 2 1 30 1,428571429 46 1 >> > 4 2 1 11 0,35483871 26 2 >> > 5 3 2 21 1,75 37 2 >> > 6 3 2 31 1,409090909 47 2 >> > 7 4 2 12 0,375 27 3 >> > 8 4 2 22 1,692307692 38 3 >> > 9 5 3 32 3,2 50 3 >> > 10 5 3 13 0,65 28 3 >> > Yo quiero agrupar usando como variables clave A, B y C pero para X1 y X2 >> > quiero obtener la media y para X3 y X4 la mediana. >> > >> > ¿Como tendría que usar el comando aggregate? >> > >> > Desde ya muchas gracias, >> > >> > Sebastián. >> > >> > [[alternative HTML version deleted]] >> > >> > >> > >> >> [[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]]
Estimados: Dentro del aggregate utilice un table, son cuatro los valores que puede tomar la variable, ¿como puedo desarmar la lista y crear cuatro variables nuevas donde le asigne 0 si no se da ese valor? Saludos, Sebastián. El 25 de septiembre de 2013 10:41, Jorge I Velez <jorgeivanvelez@gmail.com>escribió:> Sebastián, > > Una forma es > > aggregate(cbind(X1,X2) ~ B + C, t, function(x) mean(x < mean(x))) > > Saludos, > Jorge.- > > > > 2013/9/25 Sebastian Kruk <residuo.solow@gmail.com> > >> Hola Juan. >> >> ¿Si yo en vez de querer obtener la media quiero sacar el porcentaje de >> casos que son menores que la media como lo haría? >> >> Saludos, >> >> Sebastián. >> >> >> El 17 de septiembre de 2013 03:34, Joan Carmona >> <jcmld@carmonarocha.com>escribió: >> >> > Hola Sebastián, >> > >> > Qué tal así:? >> > >> > >> > >> t<-data.frame(A=c(1,2,3,4,5,6,7,8,9,10),B=c(1,1,2,2,3,3,4,4,5,5),C=c(1,1,1,1 >> > >> > >> ,2,2,2,2,3,3),X1=c(10,20,30,11,21,31,12,22,32,13),X2=c(0.33,1.81,1.42,0.35,1 >> > >> > >> .75,1.4,0.375,1.69,3.2,0.65),X3=c(25,36,46,26,37,47,27,38,50,28),X4=c(1,1,1, >> > 2,2,2,3,3,3,3)) >> > >> > >> > aggregate(cbind(X1,X2)~B+C,t,mean) >> > >> > B C X1 X2 >> > 1 1 1 15.0 1.0700 >> > 2 2 1 20.5 0.8850 >> > 3 3 2 26.0 1.5750 >> > 4 4 2 17.0 1.0325 >> > 5 5 3 22.5 1.9250 >> > >> > aggregate(cbind(X3,X4)~B+C,t,median) >> > >> > B C X3 X4 >> > 1 1 1 30.5 1.0 >> > 2 2 1 36.0 1.5 >> > 3 3 2 42.0 2.0 >> > 4 4 2 32.5 3.0 >> > 5 5 3 39.0 3.0 >> > >> > Saludos, >> > >> > Juan Carmona. >> > >> > -----Mensaje original----- >> > De: r-help-es-bounces@r-project.org [mailto: >> > r-help-es-bounces@r-project.org] >> > En nombre de Sebastian Kruk >> > Enviado el: lunes, 16 de septiembre de 2013 22:44 >> > Para: Lista R >> > Asunto: [R-es] ayuda con aggregate >> > >> > Estimados usuarios de R: >> > >> > Estoy aprendiendo a usar el comando aggregate. >> > >> > Por ejemplo tengo la siguiente tabla: >> > >> > A B C X1 X2 X3 X4 >> > 1 1 1 10 0,333333333 25 1 >> > 2 1 1 20 1,818181818 36 1 >> > 3 2 1 30 1,428571429 46 1 >> > 4 2 1 11 0,35483871 26 2 >> > 5 3 2 21 1,75 37 2 >> > 6 3 2 31 1,409090909 47 2 >> > 7 4 2 12 0,375 27 3 >> > 8 4 2 22 1,692307692 38 3 >> > 9 5 3 32 3,2 50 3 >> > 10 5 3 13 0,65 28 3 >> > Yo quiero agrupar usando como variables clave A, B y C pero para X1 y X2 >> > quiero obtener la media y para X3 y X4 la mediana. >> > >> > ¿Como tendría que usar el comando aggregate? >> > >> > Desde ya muchas gracias, >> > >> > Sebastián. >> > >> > [[alternative HTML version deleted]] >> > >> > >> > >> >> [[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]]