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 en
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 en 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 en 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 en
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 en
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 en 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 en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
> [[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
[[alternative HTML version deleted]]