La seguente domanda è stata posta sulla pagina interna della comunità di utenti JMP di P&G. Passando a questo forum:
Ho due tabelle a cui voglio unirmi in base ai timestamp. Tuttavia, a causa dell'origine dati, non hanno gli stessi orari. L'unica opzione in JMP che riesco a trovare è una corrispondenza esatta. C'è un'opzione in JMP per utilizzare un join più vicino simile a come funzionano i panda o Excel Vlookup?
La community di utenti di P&G JMP ha tentato di fornire alcune risposte. C'è una soluzione migliore di quella che abbiamo cercato di consigliare?
Risposta 1:
Rilascia entrambe le tabelle in Excel come fogli separati, aggiungi una colonna vlookup a sheet1 referenziando sheet2, quindi riporta su JMP per il join? Non ho visto una funzione di corrispondenza più vicina in JMP, ma sarei interessato se esistesse...
Risposta #2:
Le definizioni di "unione più vicina" non sono coerenti. La mia memoria di VLOOKUP (a meno che non sia modificata) è prendere il tempo X dalla tabella dati X e abbinarlo al tempo Y più vicino dalla tabella dati Y tale che X<=Y (o è Y<=X), che a volte può essere un divario molto lungo, soprattutto se i dati vengono raccolti a intervalli irregolari nella tabella dati X o nella tabella dati Y. La possibilità di intervalli irregolari può davvero complicare unioni come questa.
Sfortunatamente non ci sono approcci veloci in JMP, ma ci sono un paio di cose che puoi provare.
Un approccio che ho provato in precedenza è quello di adattare una spline a misurazioni critiche di interesse (con variabile X = tempo), quindi salvare la formula di previsione e trasferirla nell'altra tabella. Se fatto correttamente, questo essenzialmente interpola le misurazioni critiche e le abbina.
Un'altra opzione consiste nell'eseguire un join completo (i timestamp non corrispondono), quindi creare una colonna Formula per verificare se manca l'ora nella tabella dati X; in tal caso, utilizzare l'ora dalla tabella dati Y, altrimenti utilizzare l'ora dalla tabella dati X. Quindi eseguire l'ordinamento in base a questa nuova colonna dell'ora. Quindi creare formule su ogni misura critica di interesse. In queste formule, controlla se la misura critica è mancante o meno. Se non manca, porta la misurazione critica e, in caso contrario, usa la funzione Lag (gruppo di funzioni Riga nell'editor di formule) rispetto a qualsiasi nome tu stia nominando questa nuova colonna di formula per ridurre l'osservazione da una riga in su.
Risposta #3:
In molti casi puoi creare una corrispondenza più vicina quando raccogli entrambi i timestamp allo stesso modo (ad es. raccogli i dati per secondi, 10 secondi, 1 minuto...) prima di unirti. Funziona abbastanza bene fintanto che i timestamp non sono "troppo diversi" e puoi accettare un'aggregazione di dati.
Il binning è una funzione di colonna in JMP
Follow-up dell'interrogante originale:
Grazie per i suggerimenti. Molto probabilmente eseguirò l'unione al di fuori di JMP e quindi eseguirò l'analisi dopo la combinazione.
Non sono sicuro di quanti altri si imbattono in questo, ma questo potrebbe essere un suggerimento da passare a JMP per avere questa funzionalità incorporata nella finestra di dialogo di unione invece di passaggi aggiuntivi al di fuori di essa.
@mjoner , Esiste una soluzione alternativa con le formule veloci all'interno dell'opzione di clic con il pulsante destro del mouse sulle intestazioni delle formule.Ciò consentirà di arrotondare la data e l'ora al minuto più vicino, secondo cinque secondi.So che non è conveniente come una partita fuzzy, ma è un'altra opzione.Mi assicurerò che lo sviluppo lo sappia