joindre des données en fonction d'un horodatage approximatifJ'ai deux tables de données que je dois rejoindre.le tableau A comporte des horodatages en heures : 24, 48, 72, 96,....le tableau B contient des données en ligne avec des intervalles de 5 minutes, donc l'horodatage doit avoir plusieurs décimales pour capturer la précision : 1,000, 1,083, 1,167, 1,250, 1,333, 1,417, 1,500, etc. joindre B à A fonctionne bien. ce n'est pas un problème car il y a toujours une correspondance de nombres entiers d'horodatage dans la table B avec la table A. donc pour tous les points temporels de A, il y a une valeur correspondante dans B. le problème est que certaines fois la table A se termine par "120.1" ou "120,4" heures par exemple. Cela signifie que la jointure échoue et qu'aucune donnée de B ne rejoindra A au point de données final. existe-t-il un moyen d'obtenir des correspondances « approximatives » comme le fait le fonctionnement de RECHERCHEV dans Excel ? Je ne peux pas simplement arrondir les valeurs du tableau B car j'ai alors des valeurs répétitives (aux intervalles de 0,3 et 0,8)
Mélange et nettoyage des donnéesRe : joindre des données en fonction d'un horodatage approximatifUne autre idée que vous souhaiterez peut-être vérifier consiste à utiliser JMP Query Builder pour effectuer des jointures « floues ».
J'ai regardé cela pour quelqu'un qui voulait identifier les composants chimiques qui se trouvent dans une certaine plage de masse à partir de la spectrométrie de masse.
J'ai joint 3 tableaux à titre d'exemple. La table Joined a une classe issue de la table Ref où la masse dans la table Data se situe dans la plage Mass Low et Mass High.
Je suis heureux de vous fournir plus de conseils si vous pensez que cette solution serait utile.
Voici comment la jointure floue est définie dans JMP Query Builder :

Re : joindre des données en fonction d'un horodatage approximatifSALUT,
Découvrez la fonction Loc Sorted(). Il peut être utilisé pour effectuer des recherches.
Par exemple, le code ci-dessous attribue des notes alphabétiques aux résultats des tests simulés. Autrement dit, à l'aide d'une matrice de recherche [0, 60, 70, 80, 90], les scores des échantillons de 85, 67, 99, 92 et 89 se voient attribuer les lettres F, D, C, B et A selon que le score dépasse 0. , 60, 70, 80 ou 90, respectivement. Je l'ai utilisé de manière analogue à votre cas d'utilisation.
Acclamations,
Brady
Words( "FDCBA", "" )[Loc Sorted( [0, 60, 70, 80, 90], [85, 67, 99, 92, 89] )];
