[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