Marcuzzi, Javier Rubén
2013-Jul-08 20:25 UTC
[R-es] Segmentar archivos en R (Antonio José Sáez Castillo)
Estimado Mauricio Monsalvo Le paso una idea, no es un código muy lindo que digamos, pero al correrlo seguramente se dará cuenta de mi sugerencia. datos<-c(2,3,4,5,6,7,8) quantile(datos) quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95)) as.matrix(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) as.data.frame(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) # ¿ y si solo solicita uno por vez ? as.matrix(quantile(datos,probs = c(0.25))) as.matrix(quantile(datos,probs = c(0.75))) cbind(as.matrix(quantile(datos,probs = c(0.25))), as.matrix(quantile(datos,probs = c(0.75)))) Javier Marcuzzi -----Original Message----- From: Mauricio Monsalvo Sent: Monday, July 08, 2013 4:59 PM To: Antonio José Sáez Castillo Cc: r-help-es Subject: Re: [R-es]Segmentar archivos en R (Antonio José Sáez Castillo) Hola. Tengo un problema sencillo que no logro desentrañar: Tengo estos tres objetos: a <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, mean))) b <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, median))) c <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, quantile, probs = c(0.25, 0.75, 0.85, 0.90, 0.95)))) Pero resulta que cbind(a,b,c) devuelve este resultado: [,1] [,2] [,3] BUENOS AIRES 142135.6 18458.85 Numeric,5 CAPITAL FEDERAL 536152.3 26888.67 Numeric,5 CATAMARCA 11409.81 5415.242 Numeric,5 .... Cuando en realidad en lugar de [,3] debería decirme los valores correspondientes a los quantiles que le solicité, ¿verdad? Por defecto, with(ProduccionAC, tapply(Costo, Provincia, quantile, probs c(0.25, 0.75, 0.85, 0.90, 0.95))) es un "array". Si lo fuerzo como as.data.frame, resulta algo extraño: with(ProduccionAC, tapply(ProduccionAC$Costo, ProduccionAC$Provincia, BUENOS AIRES 2959.639, 77915.406, 147857.361, 288140.165, 676743.287 CAPITAL FEDERAL 5084.754, 136320.272, 756451.637, 2054988.865, 3531858.807 que luego no se pega bien aplicando el cbind... Se que es simple, pero de veras no logro resolverlo! Sólo necesito una matriz que contega la media, la moda y esos cortes según Provincia :( Gracias. El 30 de noviembre de 2011 03:03, Antonio José Sáez Castillo < ajsaez en ujaen.es> escribió:> Hola Leonardo. Creo que te refieres a analizar alguna variable por grupos. > Eso te lo pueden hacer las funciones tipo tapply(). > Por ejemplo, > tapply(datos,factor,mean, na.rm=TRUE) > tapply(datos,factor,sd, na.rm=TRUE) > tapply(datos,factor,quantile,**probs=c(0.05,0.95),na.rm=TRUE) > En cuanto a RCommander, que lo preguntabas después, algunas opciones del > menú tienen la opción "Analizar por grupos" o "Resumir por grupos" o algo > así. Yo te recomiendo mediante código. > > El 29/11/2011 21:03, > r-help-es-request en r-project.**org<r-help-es-request en r-project.org>escribió: > > Message: 2 >> Date: Tue, 29 Nov 2011 14:11:49 -0500 >> From: Leonardo Hernández Pérez <leonardo.hernandez en etecsa.cu> >> To: r-help-es<r-help-es en r-project.**org <r-help-es en r-project.org>> >> Subject: [R-es] Segmentar archivos en R >> Message-ID:<4ED52E75.8000409@**etecsa.cu <4ED52E75.8000409 en etecsa.cu>> >> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" >> >> >> Hola colegas: >> >> Necesito saber como puedo hacer en R una segmentación de archivo similar >> a como se hace en SPSS. >> >> Un Abrazo a todos >> >> Leonardo >> ------------ próxima parte ------------ >> An embedded and charset-unspecified text was scrubbed... >> Name: no disponible >> URL:<https://stat.ethz.ch/**pipermail/r-help-es/** >> attachments/20111129/9c2987a8/**attachment-0001.pl<https://stat.ethz.ch/pipermail/r-help-es/attachments/20111129/9c2987a8/attachment-0001.pl> >> > >> > > -- > Dr. Antonio José Sáez Castillo > Dpto. de Estadística e Investigación Operativa > Escuela Politécnica Superior de Linares > Universidad de Jaén > C/ Alfonso X El Sabio 28, 23700 Linares (Jaén) ESPAÑA > Tlf. y FAX +34 953 648578 > > ______________________________**_________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> >-- Mauricio [[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
Mauricio Monsalvo
2013-Jul-08 20:30 UTC
[R-es] Segmentar archivos en R (Antonio José Sáez Castillo)
Gracias, Javier. Es lo que hice, en efecto, para salir del paso. Requerir de a uno por vez. El problema es que no entiendo por qué debo hacerlo así si quantile es una función más, como cualquier otra, que podría utilizar en un tapply (porque necesito los datos según provincia, que obviamente es un factor) El 8 de julio de 2013 17:25, Marcuzzi, Javier Rubén < javier.ruben.marcuzzi@gmail.com> escribió:> Estimado Mauricio Monsalvo > > Le paso una idea, no es un código muy lindo que digamos, pero al correrlo > seguramente se dará cuenta de mi sugerencia. > > datos<-c(2,3,4,5,6,7,8) > quantile(datos) > quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95)) > as.matrix(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) > as.data.frame(quantile(datos,**probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) > # ¿ y si solo solicita uno por vez ? > as.matrix(quantile(datos,probs = c(0.25))) > as.matrix(quantile(datos,probs = c(0.75))) > cbind(as.matrix(quantile(**datos,probs = c(0.25))), > as.matrix(quantile(datos,probs = c(0.75)))) > > Javier Marcuzzi > > -----Original Message----- From: Mauricio Monsalvo > Sent: Monday, July 08, 2013 4:59 PM > To: Antonio José Sáez Castillo > Cc: r-help-es > Subject: Re: [R-es]Segmentar archivos en R (Antonio José Sáez Castillo) > > > Hola. > Tengo un problema sencillo que no logro desentrañar: > Tengo estos tres objetos: > a <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, mean))) > b <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, median))) > c <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, quantile, probs > = c(0.25, 0.75, 0.85, 0.90, 0.95)))) > Pero resulta que > cbind(a,b,c) > devuelve este resultado: > > [,1] [,2] > [,3] > BUENOS AIRES 142135.6 > 18458.85 Numeric,5 > CAPITAL FEDERAL 536152.3 > 26888.67 Numeric,5 > CATAMARCA 11409.81 > 5415.242 Numeric,5 > .... > > Cuando en realidad en lugar de [,3] debería decirme los valores > correspondientes a los quantiles que le solicité, ¿verdad? > Por defecto, with(ProduccionAC, tapply(Costo, Provincia, quantile, probs > c(0.25, 0.75, 0.85, 0.90, 0.95))) es un "array". Si lo fuerzo como > as.data.frame, resulta algo extraño: > > with(ProduccionAC, tapply(ProduccionAC$Costo, ProduccionAC$Provincia, > BUENOS AIRES > 2959.639, 77915.406, 147857.361, 288140.165, 676743.287 > CAPITAL FEDERAL 5084.754, > 136320.272, 756451.637, 2054988.865, 3531858.807 > > que luego no se pega bien aplicando el cbind... > Se que es simple, pero de veras no logro resolverlo! Sólo necesito una > matriz que contega la media, la moda y esos cortes según Provincia :( > Gracias. > > > El 30 de noviembre de 2011 03:03, Antonio José Sáez Castillo < > ajsaez@ujaen.es> escribió: > > Hola Leonardo. Creo que te refieres a analizar alguna variable por grupos. >> Eso te lo pueden hacer las funciones tipo tapply(). >> Por ejemplo, >> tapply(datos,factor,mean, na.rm=TRUE) >> tapply(datos,factor,sd, na.rm=TRUE) >> tapply(datos,factor,quantile,****probs=c(0.05,0.95),na.rm=**TRUE) >> >> En cuanto a RCommander, que lo preguntabas después, algunas opciones del >> menú tienen la opción "Analizar por grupos" o "Resumir por grupos" o algo >> así. Yo te recomiendo mediante código. >> >> El 29/11/2011 21:03, r-help-es-request@r-project.****org< >> r-help-es-request@r-**project.org <r-help-es-request@r-project.org> >> >escribió: >> >> Message: 2 >> >>> Date: Tue, 29 Nov 2011 14:11:49 -0500 >>> From: Leonardo Hernández Pérez <leonardo.hernandez@etecsa.cu> >>> To: r-help-es<r-help-es@r-project.****org <r-help-es@r-project.org>> >>> >>> Subject: [R-es] Segmentar archivos en R >>> Message-ID:<4ED52E75.8000409@****etecsa.cu <4ED52E75.8000409@etecsa.cu>> >>> >>> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" >>> >>> >>> Hola colegas: >>> >>> Necesito saber como puedo hacer en R una segmentación de archivo similar >>> a como se hace en SPSS. >>> >>> Un Abrazo a todos >>> >>> Leonardo >>> ------------ próxima parte ------------ >>> An embedded and charset-unspecified text was scrubbed... >>> Name: no disponible >>> URL:<https://stat.ethz.ch/****pipermail/r-help-es/**<https://stat.ethz.ch/**pipermail/r-help-es/**> >>> attachments/20111129/9c2987a8/****attachment-0001.pl<https://** >>> stat.ethz.ch/pipermail/r-help-**es/attachments/20111129/** >>> 9c2987a8/attachment-0001.pl<https://stat.ethz.ch/pipermail/r-help-es/attachments/20111129/9c2987a8/attachment-0001.pl> >>> > >>> > >>> >>> >> -- >> Dr. Antonio José Sáez Castillo >> Dpto. de Estadística e Investigación Operativa >> Escuela Politécnica Superior de Linares >> Universidad de Jaén >> C/ Alfonso X El Sabio 28, 23700 Linares (Jaén) ESPAÑA >> Tlf. y FAX +34 953 648578 >> >> ______________________________****_________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/****listinfo/r-help-es<https://stat.ethz.ch/mailman/**listinfo/r-help-es> >> <https://**stat.ethz.ch/mailman/listinfo/**r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> >> > >> >> > > > -- > Mauricio > > [[alternative HTML version deleted]] > > > > > > > > > ______________________________**_________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> >-- Mauricio [[alternative HTML version deleted]]
Marcuzzi, Javier Rubén
2013-Jul-08 20:39 UTC
[R-es] Segmentar archivos en R (Antonio José Sáez Castillo)
Habría que buscar la vuelta, yo no lo se, pero posiblemente lo siguiente da una pista. Nota: al mismo código le sume una línea al final datos<-c(2,3,4,5,6,7,8) quantile(datos) quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95)) as.matrix(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) as.data.frame(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) # ¿ y si solo solicita uno por vez ? as.matrix(quantile(datos,probs = c(0.25))) as.matrix(quantile(datos,probs = c(0.75))) cbind(as.matrix(quantile(datos,probs = c(0.25))), as.matrix(quantile(datos,probs = c(0.75)))) # parte nueva str(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) From: Mauricio Monsalvo Sent: Monday, July 08, 2013 5:30 PM To: Marcuzzi, Javier Rubén Cc: Antonio José Sáez Castillo ; r-help-es Subject: Re: [R-es]Segmentar archivos en R (Antonio José Sáez Castillo) Gracias, Javier. Es lo que hice, en efecto, para salir del paso. Requerir de a uno por vez. El problema es que no entiendo por qué debo hacerlo así si quantile es una función más, como cualquier otra, que podría utilizar en un tapply (porque necesito los datos según provincia, que obviamente es un factor) El 8 de julio de 2013 17:25, Marcuzzi, Javier Rubén <javier.ruben.marcuzzi@gmail.com> escribió: Estimado Mauricio Monsalvo Le paso una idea, no es un código muy lindo que digamos, pero al correrlo seguramente se dará cuenta de mi sugerencia. datos<-c(2,3,4,5,6,7,8) quantile(datos) quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95)) as.matrix(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) as.data.frame(quantile(datos,probs = c(0.25, 0.75, 0.85, 0.90, 0.95))) # ¿ y si solo solicita uno por vez ? as.matrix(quantile(datos,probs = c(0.25))) as.matrix(quantile(datos,probs = c(0.75))) cbind(as.matrix(quantile(datos,probs = c(0.25))), as.matrix(quantile(datos,probs = c(0.75)))) Javier Marcuzzi -----Original Message----- From: Mauricio Monsalvo Sent: Monday, July 08, 2013 4:59 PM To: Antonio José Sáez Castillo Cc: r-help-es Subject: Re: [R-es]Segmentar archivos en R (Antonio José Sáez Castillo) Hola. Tengo un problema sencillo que no logro desentrañar: Tengo estos tres objetos: a <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, mean))) b <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, median))) c <- as.matrix(with(ProduccionAC, tapply(Costo, Provincia, quantile, probs = c(0.25, 0.75, 0.85, 0.90, 0.95)))) Pero resulta que cbind(a,b,c) devuelve este resultado: [,1] [,2] [,3] BUENOS AIRES 142135.6 18458.85 Numeric,5 CAPITAL FEDERAL 536152.3 26888.67 Numeric,5 CATAMARCA 11409.81 5415.242 Numeric,5 .... Cuando en realidad en lugar de [,3] debería decirme los valores correspondientes a los quantiles que le solicité, ¿verdad? Por defecto, with(ProduccionAC, tapply(Costo, Provincia, quantile, probs c(0.25, 0.75, 0.85, 0.90, 0.95))) es un "array". Si lo fuerzo como as.data.frame, resulta algo extraño: with(ProduccionAC, tapply(ProduccionAC$Costo, ProduccionAC$Provincia, BUENOS AIRES 2959.639, 77915.406, 147857.361, 288140.165, 676743.287 CAPITAL FEDERAL 5084.754, 136320.272, 756451.637, 2054988.865, 3531858.807 que luego no se pega bien aplicando el cbind... Se que es simple, pero de veras no logro resolverlo! Sólo necesito una matriz que contega la media, la moda y esos cortes según Provincia :( Gracias. El 30 de noviembre de 2011 03:03, Antonio José Sáez Castillo < ajsaez@ujaen.es> escribió: Hola Leonardo. Creo que te refieres a analizar alguna variable por grupos. Eso te lo pueden hacer las funciones tipo tapply(). Por ejemplo, tapply(datos,factor,mean, na.rm=TRUE) tapply(datos,factor,sd, na.rm=TRUE) tapply(datos,factor,quantile,**probs=c(0.05,0.95),na.rm=TRUE) En cuanto a RCommander, que lo preguntabas después, algunas opciones del menú tienen la opción "Analizar por grupos" o "Resumir por grupos" o algo así. Yo te recomiendo mediante código. El 29/11/2011 21:03, r-help-es-request@r-project.**org<r-help-es-request@r-project.org>escribió: Message: 2 Date: Tue, 29 Nov 2011 14:11:49 -0500 From: Leonardo Hernández Pérez <leonardo.hernandez@etecsa.cu> To: r-help-es<r-help-es@r-project.**org <r-help-es@r-project.org>> Subject: [R-es] Segmentar archivos en R Message-ID:<4ED52E75.8000409@**etecsa.cu <4ED52E75.8000409@etecsa.cu>> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" Hola colegas: Necesito saber como puedo hacer en R una segmentación de archivo similar a como se hace en SPSS. Un Abrazo a todos Leonardo ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: no disponible URL:<https://stat.ethz.ch/**pipermail/r-help-es/** attachments/20111129/9c2987a8/**attachment-0001.pl<https://stat.ethz.ch/pipermail/r-help-es/attachments/20111129/9c2987a8/attachment-0001.pl> > -- Dr. Antonio José Sáez Castillo Dpto. de Estadística e Investigación Operativa Escuela Politécnica Superior de Linares Universidad de Jaén C/ Alfonso X El Sabio 28, 23700 Linares (Jaén) ESPAÑA Tlf. y FAX +34 953 648578 ______________________________**_________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> -- Mauricio [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Mauricio [[alternative HTML version deleted]]