[R-es] Optimización identificación de casos similares

David Contreras d@v|dcontrer@@00 @end|ng |rom gm@||@com
Jue Feb 7 17:40:17 CET 2019


Gracias Jesús por tu ayuda.
El tema es que como está el código si se identifican, pero el problema es
que tiene que validar cada caso con los otros 99.999 casos y ahí la máquina
no soporta el proceso.









*David Contreras*

Estadístico

Móvil 3124345188.  <%2B57%20%281%29%204841410%20Ext.%20257>
davidcontreras00 using gmail.com <cparra using contratista.icfes.gov.co>


El jue., 7 feb. 2019 a las 11:31, Jesús Para Fernández (<
j.para.fernandez using hotmail.com>) escribió:

> Pues a mi se me ocurre algo chapuceril psp que puede funcionar.
>
> Separas cada dni ponkendo cada número en una columna.
>
> A continuación calculas las distancias y te quedas con aquellos cuya
> distancia sea menor o igual a nueve.
>
> Tendras mucho falso positivo, eso si, pero se podria afinar mas....
>
> Obtener Outlook para Android <https://aka.ms/ghei36>
>
> ------------------------------
> *From:* R-help-es <r-help-es-bounces using r-project.org> on behalf of David
> Contreras <davidcontreras00 using gmail.com>
> *Sent:* Thursday, February 7, 2019 5:23:45 PM
> *To:* r-help-es
> *Subject:* [R-es] Optimización identificación de casos similares
>
> Buen día a todos,
>
> Agradezco su ayuda con lo siguiente:
>
> Tengo 100.000 registros con nombres de personas con su respectivo número de
> documento, quiero identificar casos que tengan un porcentaje de igualdad
> alto, no del 100% porque ya esos los tengo identificados, sino casos como
> por ejemplo:
>
> Nombre: Juan Pérez  Documento: 123456789
> Nombre: Juan Pérez  Documento: 1234056789
>
> Este caso sería una alerta de posible duplicado y tendría que revisarse
> porque posiblemente en uno de los dos casos se ingreso errado el número de
> documento.
>
> Para calcular esta diferencia uso la función adist del paquete (utils), el
> problema es que la forma en que tengo el código para revisar los 100.000
> casos, la máquina no lo soporta por los recorridos que se hacen:
>
> *El dataframe se llama Citacion.*
>
> *Citacion[,"NombreDoc"]<- paste0(Citacion[,"NOMBRE"]," ",
> Citacion[,"DOCUMENTO"]) # Concatena Nombre y documento*
>
> *Citacion[,"RNomDoc1"]<-0*
> *Citacion[,"RNomDoc2"]<-0*
>
> *ii<-1*
> *for(ii in 1:(nrow(Citacion)-1)){*
> *  jj<-ii+1*
> *  while(jj<=nrow(Citacion)){*
>
> *    if (adist(Citacion[ii,"NombreDoc"],
> Citacion[jj,"NombreDoc"])/nchar(Citacion[ii,"NombreDoc"])<0.15){  #
> Criterio para marcar los posibles casos duplicados*
> *      Citacion[ii,"RNomDoc1"]<-1*
> *      Citacion[jj,"RNomDoc2"]<-1*
> *      jj<-jj+1*
> *      } else {*
> *        Citacion[jj,"RNomDoc2"]<-0*
> *        jj<-jj+1*
> *        } *
> *  } *
>
> *}  *
>
> La idea es optimizar el código de alguna forma para agilizar el proceso y
> lograr que se identifiquen los casos a revisar.
>
> Mil gracias de nuevo.
>
>         [[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