juan manuel dias
2011-Nov-08 14:59 UTC
[R-es] Consulta sobre mensaje de error al aplicar un Filtro.
Hola Estimdos, Quería consultar por si alguien sabe que puede estar pasando con la aplicación de un filtro. Arroja el siguiente mensaje: *Mensajes de aviso perdidos In TransAcProv$idDepartamento == filtro2 : longitud de objeto mayor no es múltiplo de la longitud de uno menor* Este es el filtro: *filtro2 <- c (450, 30 , 449, 862 , 452)* Y se aplica sobre este data frame: *TransAcDepto <- as.data.frame(TransAcProv[TransAcProv$idDepartamento==filtro2,]) * *str (TransAcDepto)* * * *''data.frame'': 7 obs. of 7 variables: $ idProvincia : int 15 15 15 15 15 15 15 $ Provincia : Factor w/ 24 levels "BUENOS AIRES",..: 20 20 20 20 20 20 20 $ idDepartamento: int 30 862 861 449 450 451 452 $ Departamento : Factor w/ 429 levels "12 DE OCTUBRE",..: 180 240 108 213 101 214 319 $ Costo : num 169302 30498 121829 53739 63919 ... $ Precio : num 1406362 240837 873203 420907 497073 ... $ Tratamientos : num 278862 47159 173082 83905 98447 ...* Muchas gracias. Juan Manuel. [[alternative HTML version deleted]]
Carlos J. Gil Bellosta
2011-Nov-08 15:04 UTC
[R-es] Consulta sobre mensaje de error al aplicar un Filtro.
Hola, ¿qué tal? No uses "==" sino %in%. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 8 de noviembre de 2011 15:59, juan manuel dias <juamadias en gmail.com> escribió:> Hola Estimdos, > Quería consultar por si alguien sabe que puede estar pasando con la > aplicación de un filtro. > > Arroja el siguiente mensaje: > > *Mensajes de aviso perdidos > In TransAcProv$idDepartamento == filtro2 : > longitud de objeto mayor no es múltiplo de la longitud de uno menor* > > Este es el filtro: > > *filtro2 <- c (450, 30 , 449, 862 , 452)* > > Y se aplica sobre este data frame: > > *TransAcDepto <- > as.data.frame(TransAcProv[TransAcProv$idDepartamento==filtro2,]) > * > *str (TransAcDepto)* > * > * > *'data.frame': 7 obs. of 7 variables: > $ idProvincia : int 15 15 15 15 15 15 15 > $ Provincia : Factor w/ 24 levels "BUENOS AIRES",..: 20 20 20 20 20 20 > 20 > $ idDepartamento: int 30 862 861 449 450 451 452 > $ Departamento : Factor w/ 429 levels "12 DE OCTUBRE",..: 180 240 108 213 > 101 214 319 > $ Costo : num 169302 30498 121829 53739 63919 ... > $ Precio : num 1406362 240837 873203 420907 497073 ... > $ Tratamientos : num 278862 47159 173082 83905 98447 ...* > > Muchas gracias. > Juan Manuel. > > [[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 > >
juan manuel dias
2011-Nov-08 15:35 UTC
[R-es] Consulta sobre mensaje de error al aplicar un Filtro.
Hola Carlos! Muchas gracias, de esta forma corrió sin problemas. Me podras explicar, si no implica mayor trabajo, porque este cambio en el filtro no arroja error y de la otra forma si? Bueno, muchas gracias nuevamente. Saludos. Juan Manuel. El 8 de noviembre de 2011 12:04, Carlos J. Gil Bellosta < cgb@datanalytics.com> escribió:> Hola, ¿qué tal? > > No uses "==" sino %in%. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > El día 8 de noviembre de 2011 15:59, juan manuel dias > <juamadias@gmail.com> escribió: > > Hola Estimdos, > > Quería consultar por si alguien sabe que puede estar pasando con la > > aplicación de un filtro. > > > > Arroja el siguiente mensaje: > > > > *Mensajes de aviso perdidos > > In TransAcProv$idDepartamento == filtro2 : > > longitud de objeto mayor no es múltiplo de la longitud de uno menor* > > > > Este es el filtro: > > > > *filtro2 <- c (450, 30 , 449, 862 , 452)* > > > > Y se aplica sobre este data frame: > > > > *TransAcDepto <- > > as.data.frame(TransAcProv[TransAcProv$idDepartamento==filtro2,]) > > * > > *str (TransAcDepto)* > > * > > * > > *''data.frame'': 7 obs. of 7 variables: > > $ idProvincia : int 15 15 15 15 15 15 15 > > $ Provincia : Factor w/ 24 levels "BUENOS AIRES",..: 20 20 20 20 20 > 20 > > 20 > > $ idDepartamento: int 30 862 861 449 450 451 452 > > $ Departamento : Factor w/ 429 levels "12 DE OCTUBRE",..: 180 240 108 > 213 > > 101 214 319 > > $ Costo : num 169302 30498 121829 53739 63919 ... > > $ Precio : num 1406362 240837 873203 420907 497073 ... > > $ Tratamientos : num 278862 47159 173082 83905 98447 ...* > > > > Muchas gracias. > > Juan Manuel. > > > > [[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]]
Carlos Ortega
2011-Nov-08 20:04 UTC
[R-es] Consulta sobre mensaje de error al aplicar un Filtro.
Hola, Esta última duda (diferencia en una unidad entre un cálculo con agregate() y una consulta SQL) es idéntica a la que planteaste el 29-sep. En aquel momento te dimos varias alternativas, y al final tú mismo "cerraste" el hilo con este mensaje: ################ ---------- Forwarded message ---------- From: juan manuel dias <juamadias@gmail.com> Date: 2011/9/29 Subject: Re: [R-es] Consultas sobre diferencias de Sumas Agregadas en R y en SQL. To: Carlos Ortega <coforfe@gmail.com> Cc: "Gregorio R. Serrano" <grserrano@ccee.ucm.es>, r-help-es@r-project.org Hola Estimados! Muchas gracias por las respuestas. Es una diferencia que no es un problema pero nos resulta un miesterio. -Descartaría lo de que pueda existir un registro codificado con -1, porque de hecho miramos los registros en la tabla SQL. -Y lo segundo sería muy raro, porque se trataría de un caso que al duplicarse debería ser igual a 1 en todos los campos que se suman. Esto es casi imposible ya que estamos hablando de envíos de medicamentos con su precio de mercado y su costo de adquisición, que rara vez coincide con la unidad. Yo me imgaino que puede ser un error por una distinta definición en los tipos de campos. Que en la tabla SQL los tenga de una forma. Los campos que se suamn son: ** *Tratamientos* que en SQL está definido *(Decimal (38,14),Null)* *PrecioMedicamento *que en SQL está definido *(Decimal (32,8),Null)* *CostoMedicamento *que en SQL está definido *(Decimal (34,8),Null)* ** No se que posibilidad hay de que en el R se alteren esas definiciones. De todas formas no es un problema grave pero la obsesión de querer saberlo puede más. Saludos!! Mcuhas gracias! ** ################ Saludos, Carlos Ortega www.qualityexcellence.es El 8 de noviembre de 2011 19:45, juan manuel dias <juamadias@gmail.com>escribió:> Hola Carlos, > Que puede estar pasando? Porque si bien el filtro no arroja error de > sintaxis no está aplicando, ya que la suma final toma en cuenta todos los > departamentos. Además, la suma de R nos da una unidad (1) de menos en > comparación con la de SQL. > Bueno, espero no haber molestado más de la cuenta. > Saludos! > Juan Manuel. > *TransAcDeptoT <- aggregate( TransAcDepto$Tratamientos, by > list(TransAcDepto$Provincia), FUN="sum", na=T) #suma el total de los > deptos seleccionados > TransAcDeptoC <- aggregate( TransAcDepto$Costo, by > list(TransAcDepto$Provincia), FUN="sum", na=T) > TransAcDeptoP <- aggregate( TransAcDepto$Precio, by > list(TransAcDepto$Provincia), FUN="sum", na=T) > * > El 8 de noviembre de 2011 12:39, Carlos J. Gil Bellosta < > cgb@datanalytics.com> escribió: > > > %in% significa "en", que es lo que quieres: identificar las entradas > > de un vector que se encuentran _en_ otro. > > > > == significa igual; y para que dos vectores sean _iguales_ tienen que > > tener igual longitud (salvo reciclaje) y las entradas > > _posicionalmente_ iguales. > > > > Un saludo, > > > > Carlos J. Gil Bellosta > > http://www.datanalytics.com > > > > > > El día 8 de noviembre de 2011 16:35, juan manuel dias > > <juamadias@gmail.com> escribió: > > > Hola Carlos! > > > Muchas gracias, de esta forma corrió sin problemas. > > > Me podras explicar, si no implica mayor trabajo, porque este cambio en > el > > > filtro no arroja error y de la otra forma si? > > > Bueno, muchas gracias nuevamente. > > > Saludos. > > > Juan Manuel. > > > > > > El 8 de noviembre de 2011 12:04, Carlos J. Gil Bellosta > > > <cgb@datanalytics.com> escribió: > > >> > > >> Hola, ¿qué tal? > > >> > > >> No uses "==" sino %in%. > > >> > > >> Un saludo, > > >> > > >> Carlos J. Gil Bellosta > > >> http://www.datanalytics.com > > >> > > >> > > >> El día 8 de noviembre de 2011 15:59, juan manuel dias > > >> <juamadias@gmail.com> escribió: > > >> > Hola Estimdos, > > >> > Quería consultar por si alguien sabe que puede estar pasando con la > > >> > aplicación de un filtro. > > >> > > > >> > Arroja el siguiente mensaje: > > >> > > > >> > *Mensajes de aviso perdidos > > >> > In TransAcProv$idDepartamento == filtro2 : > > >> > longitud de objeto mayor no es múltiplo de la longitud de uno > menor* > > >> > > > >> > Este es el filtro: > > >> > > > >> > *filtro2 <- c (450, 30 , 449, 862 , 452)* > > >> > > > >> > Y se aplica sobre este data frame: > > >> > > > >> > *TransAcDepto <- > > >> > as.data.frame(TransAcProv[TransAcProv$idDepartamento==filtro2,]) > > >> > * > > >> > *str (TransAcDepto)* > > >> > * > > >> > * > > >> > *''data.frame'': 7 obs. of 7 variables: > > >> > $ idProvincia : int 15 15 15 15 15 15 15 > > >> > $ Provincia : Factor w/ 24 levels "BUENOS AIRES",..: 20 20 20 > 20 > > 20 > > >> > 20 > > >> > 20 > > >> > $ idDepartamento: int 30 862 861 449 450 451 452 > > >> > $ Departamento : Factor w/ 429 levels "12 DE OCTUBRE",..: 180 240 > > 108 > > >> > 213 > > >> > 101 214 319 > > >> > $ Costo : num 169302 30498 121829 53739 63919 ... > > >> > $ Precio : num 1406362 240837 873203 420907 497073 ... > > >> > $ Tratamientos : num 278862 47159 173082 83905 98447 ...* > > >> > > > >> > Muchas gracias. > > >> > Juan Manuel. > > >> > > > >> > [[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]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]