Come filtriamo i dati in base al tempo e prendiamo la media utilizzando JSL?Ho dei dati acquisiti per un determinato periodo di tempo. Di seguito è riportata l'istantanea della tabella (la stessa allegata):
| Timestamp | A | B | C |
| 0,001 | 10.005 | 450.4451 | 428.9093 |
| 0,002 | 10.01 | 450.8904 | 429.0295 |
| 0,003 | 10.015 | 451.336 | 429.0177 |
| 0,004 | 10.02 | 451.7818 | 428.9279 |
| 0,005 | 10.025 | 452.2278 | 428.8491 |
Il grafico della colonna C è il seguente:

Devo filtrare le righe nella sezione 1, 2 e 3 e trovare la loro media.
Ogni sezione ha una durata di 30 secondi, calcolata dalla colonna timestamp e tra ciascuna sezione è presente un intervallo di 20 secondi.
La tabella dei risultati finali dovrebbe essere la seguente:
| Sezione | media(A) | media(B) | media(C) |
| 1 | 10.005 | 450.4451 | 428.9093 |
| 2 | 10.01 | 450.8904 | 429.0295 |
| 3 | 10.015 | 451.336 | 429.0177 |
Potresti per favore consigliarmi come possiamo filtrare le righe nella sezione 1, 2 e 3 e trovare la loro media utilizzando lo script.
Ingegneria della qualità e dei processiRi: Come filtriamo i dati in base al tempo e prendiamo la media usando JSL?Grazie mille per avermi guidato verso le risorse giuste, leggerò sicuramente la documentazione.Ri: Come filtriamo i dati in base al tempo e prendiamo la media usando JSL?Nell'esempio fornito, la colonna Sezione è stata creata come colonna Numerica.I valori per le colonne numeriche devono essere numeri validi.Tuttavia, è semplice rendere la colonna una colonna Carattere e quindi i valori di Sezione possono essere qualsiasi cosa tu voglia.
names default to here(1);
dt=current data table();
dt << new column("Section",
ordinal,character,
formula(
If( 0 <= :TimeStamp <= 30,
"Interval_1",
50 <= :TimeStamp <= 80,
"Interval_2",
100 <= :TimeStamp <= 130,
"Interval_3"
)
)
);
Ti suggerisco caldamente di dedicare del tempo alla lettura dei documenti Alla scoperta di JMP e Utilizzo di JMP dalla Libreria della documentazione di JMP disponibile nel menu a discesa Guida
Ri: Come filtriamo i dati in base al tempo e prendiamo la media usando JSL?È possibile dare dei nomi significativi a ciascuna sezione invece di 1, 2 e 3. Ad esempio, possiamo chiamarlo intervallo_1, intervallo_2 ecc.
Ho provato questo ma il codice non viene eseguito quando lo provo
Ri: Come filtriamo i dati in base al tempo e prendiamo la media usando JSL?Ecco come lo farei.Non corrisponde ai tuoi risultati, ma segue le indicazioni da te indicate, calcolando la Sezione in base ai valori TimeStamp di 0-30 = Sezione 1, 50-80 = Sezione 2, 100-130 = Sezione 3

names default to here(1);
dt=current data table();
dt << new column("Section",
ordinal,
formula(
If( 0 <= :TimeStamp <= 30,
1,
50 <= :TimeStamp <= 80,
2,
100 <= :TimeStamp <= 130,
3
)
)
);
dt << Summary(
Group( :Section ),
Mean( :A ),
Mean( :B ),
Mean( :C ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);