[R-es] Eliminar registros por un criterio.

Javier Marcuzzi j@v|er@ruben@m@rcuzz| @end|ng |rom gm@||@com
Vie Mayo 13 23:50:22 CEST 2022


Estimados

No se si sería justo el caso, pero yo lo realizo de una forma simple, lo explicaré en el siguiente ejemplo reproducible en R.

persona <- c('javier', 'ruben', 'marcuzzi')
bici <- c(1,1,3)
auto <- c(NA,1,1)
cosas <- data.frame(persona, bici, auto)
cosas
no_NA_auto <- cosas[!is.na(cosas$auto),]
no_NA_auto
si_NA_auto <- cosas[is.na(cosas$auto),]
si_NA_auto
complete.cases(cosas)

Javier Rubén Marcuzzi

> El 13 may. 2022, a las 18:05, juan manuel dias <juamadias using gmail.com> escribió:
> 
> La he usado...no se me ocurrió usarla en este caso! La voy a probar y luego
> te cuento!
> Gracias!
> 
> El vie, 13 may 2022 a las 17:55, jose luis (<pepeceb using yahoo.es>) escribió:
> 
>> No estoy seguro, pero tal vez la fincion coalesce
>> 
>> 
>> https://statisticsglobe.com/r-coalesce-function-dplyr-package
>> En viernes, 13 de mayo de 2022, 22:44:39 CEST, juan manuel dias <
>> juamadias using gmail.com> escribió:
>> 
>> 
>> Hola, si, claro!
>> 
>> El tema es que tengo NA en variable importe.ok en expedientes que no se
>> repiten y que no quiero eliminar, y de esta forma si los elimina. Quizá me
>> faltó comentar que en la base tengo expedientes que no se repiten que no
>> quiero eliminar. Solo necesito eliminar los expedientes repetidos donde
>> tengo NA en variable importe.ok.
>> 
>> Se entiende?
>> 
>> Abajo un ejemplo que refleja esto que digo.
>> 
>> razon.social expediente moneda importe
>> savant 123 $ 1234 necesito este registro
>> savant        123 $  eliminar este registro
>> sidus 125 $  eliminar este registro
>> sidus 125 $ 3245 necesito este registro
>> artaf 127 $  eliminar este registro
>> artaf 127 $ 3267 necesito este registro
>> roche 324 $ 1246 necesito este registro
>> savant 218 $  necesito este registro
>> 
>> Pude resolverlo así, no se si habrá otra forma sin tener que hacerlo en dos
>> pasos.
>> 
>> expe.dupli<-base.filrada %>%
>>  group_by(expediente) %>%
>>  summarise("cantidad"=n())base.filrada.final<-base.filrada %>%
>>  left_join(expe.dupli, by=c("expediente")) %>%
>>  filter(cantidad==2 & !is.na(importe.final_dos) | cantidad==1)
>> 
>> Gracias!!
>> 
>> 
>> El vie, 13 may 2022 a las 17:05, Carlos Ortega (<cof using qualityexcellence.es
>>> )
>> escribió:
>> 
>>> Hola,
>>> 
>>> Simplemente con la función "filter()" lo puedes conseguir...
>>> 
>>> midf_limpio <- df_inicial %>%
>>>   filter(!is.na(importe))
>>> 
>>> Así te quedas solamente con las filas que tienen un importe no nulo...
>>> 
>>> Gracias,
>>> Carlos Ortega
>>> www.qualityexcellence.es
>>> 
>>> El vie, 13 may 2022 a las 20:50, juan manuel dias (<juamadias using gmail.com
>>> )
>>> escribió:
>>> 
>>>> Hola,
>>>> 
>>>> Tengo una una base donde algunos expedientes están duplicados, pero uno
>> de
>>>> los dos tienen valor en variable importe y el otro no. Necesito eliminar
>>>> el
>>>> que no tiene importe y quedarme con el que si tiene.
>>>> 
>>>> Intenté con slice(n()) pero no obtengo lo que necesito.
>>>> 
>>>> Dejo abajo un ejemplo para que se entienda.
>>>> 
>>>> Muchas gracias!
>>>> 
>>>> razon.social expediente moneda importe ok
>>>> savant 12345 $ 1234 necesito este registro
>>>> savant 12345 $  eliminar este registro
>>>> sidus 23457 $  eliminar este registro
>>>> sidus 23457 $ 3245 necesito este registro
>>>> artaf 23459 $  eliminar este registro
>>>> artaf 23459 $ 3267 necesito este registro
>>>> 
>>>>       [[alternative HTML version deleted]]
>>>> 
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es using r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>> 
>>> 
>>> 
>>> --
>>> Saludos,
>>> Carlos Ortega
>>> www.qualityexcellence.es
>>> 
>> 
>>    [[alternative HTML version deleted]]
>> 
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>> 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es


	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es