"Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentesA menudo tengo archivos de datos de diferentes fuentes que quiero unir por tiempo, pero como provienen de diferentes sistemas, sus marcas de tiempo son ligeramente diferentes.Resolvimos esto usando JMP KDTable objeto que permite la búsqueda locamente rápida del vecino más cercano.Esta "fusión difusa" encontrará la fila más cercana en el tiempo en una segunda tabla para cada fila de la tabla principal y unirá esas filas en la tabla única resultante.
Encontré algunos otros ejemplos de esto en mi búsqueda en la comunidad, pero ninguno con una GUI para que sea accesible para los que no usan scripts.
Para usar esto, primero ejecute el script 'fn_fuzzymerge_generic' para cargar la función personalizada en JMP.Luego ejecute el script fuzzymerge_generic_GUI con sus tablas de datos abiertas.Es posible que desee echar un vistazo a una distribución de la columna 'Fuzzy Merge delta', que es la diferencia entre las columnas de tiempo de las dos tablas para las filas que se unieron.Los valores grandes indican que no hay datos "cerca" de esa fila en la tabla principal.
Tenga en cuenta que esto encontrará la fila más cercana *en cualquier dirección*, hacia adelante o hacia atrás en el tiempo.
¡Espero que esto ayude a alguien!
Kristo
Análisis exploratorio de datosUtilidadesRe: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentesMuchas gracias, esto ha sido muy útil para nuestro grupo, ya que a menudo tenemos que combinar varios archivos con diferentes marcas de tiempo. ¡Funciona perfectamente! Sugeriría una opción para guardar los resultados en una nueva tabla con un nuevo nombre, en lugar de cambiar la tabla principal.
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentesAsí que tienes la tabla A con una fila cada segundo y la tabla B con una fila cada hora.Si usa esta fusión difusa y se fusiona en A (la tabla principal) desde la tabla B (la tabla 'con'), terminará encontrando la fila más cercana en B para cada fila en A.Parece que lo que está pidiendo es simplemente hacerlo al revés: establezca la tabla B como la tabla 'principal' y la tabla A como la tabla 'con'. Llamémoslo tabla C.Eso le dará la única fila de armarios en A para cada fila en B.Si aún desea una tabla con tantas filas como la tabla A, pero datos vacíos para B, entonces puede unir la tabla-> C con A haciendo coincidir la marca de tiempo.
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentes@klk Tengo una tabla con marcas de tiempo cada segundo y otra tabla con una marca de tiempo cada hora. Ambas columnas muestran el tiempo en horas. Cuando uno las tablas con su secuencia de comandos, coincidirá con la segunda tabla en varios lugares de la primera tabla hasta que alcance un delta de 0,5, y luego coincidirá con la siguiente marca de tiempo. Termino con múltiples coincidencias en lugar de una sola coincidencia.
¿Hay alguna manera de hacer cumplir una sola coincidencia parcial? ¿tal vez definiendo manualmente un solo delta?
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentes
@klk este guión es genial!
Me preguntaba si podrías complementarlo con un par de artículos:
1. Agregue un botón de cancelación a la ventana GUI
2. ¿Sería posible hacer la unión por grupo? por ejemplo, podría tener dos series temporales que deberían mantenerse separadas y el nombre de la serie se encuentra en una de las columnas.
¡¡¡Gracias!!!
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentes¡Gracias por compartir! Será bueno tener un factor de tolerancia para no unirnos a índices que están 'demasiado lejos'.
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentesKristo, sí, he estado exactamente en esta situación, y estoy seguro de que mucha gente lo ha hecho. Simplemente decidí que sería demasiado difícil de entender. Me alegro de que te hayas tomado el tiempo de escribir este guión.
Sé que tendré la oportunidad de usarlo pronto.
Gracias
fiona
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentesGran guión y buen soporte. Me gusta .
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentes¡Me alegro de que ayude!Tenga en cuenta que lo acabo de actualizar con una pequeña corrección.
Re: "Fuzzymerge": une tablas con marcas de tiempo ligeramente diferentesMuy lindo. Estaba buscando algo como esto. ¡Gracias!