Ciao esperti di dati!
Ho una serie di dati che sto cercando di organizzare meglio.
Dichiarazione del problema: vorrebbe un report a intervalli del tasso di variazione di massa rispetto al tempo.
| Tempo | Massa (kg) |
| 1 | 20 |
| 2 | 21 |
| 3 | 25 |
| ... | ... |
| 10 | 60 |
| 11 | 62 |
| 12 | 64 |
| ... | ... |
| 20 | 79 |
| 21 | 73 |
| 22 | 74 |
| ... | ... |
| 30 | 92 |
| ... | ... |
Mentre sono aperto a soluzioni alternative per soddisfare la dichiarazione del problema di cui sopra, attualmente quello che sto trovando come probabilmente il miglior percorso da seguire (ma avendo difficoltà a capire come implementare) è il seguente:
Trasponi i dati in sottoinsiemi di 10 per ottenere questo:
| Intervalli di tempo | 1-10 | 11-21 | 22-32 | 33-43 | 44-54 | eccetera... |
| dM/dt | =(60-20)/10 | =(62-73)/10 | ecc.. | | | |
mi chiedo se qualcuno può offrire informazioni su come fare questo ...
Grazie!
-Haley
Gli intervalli stanno cambiando, è apposta? Il primo è 10 valori, ma il resto sono 11 valori.
Aggiungerei due colonne formula:
- Primo a calcolare la categoria
- Secondo per calcolare dM/dt
Quindi creerei una tabella di riepilogo e la riporterei.
Inizio tabella:

Risultato finale:

Ecco uno script di esempio con due calcoli per categorie e che termina con una tabella di riepilogo, tutto questo può essere fatto anche in modo interattivo da JMP:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(33),
New Column("Time",
Numeric,
"Continuous",
Format("Best", 12),
Set Values(
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33]
)
),
New Column("Mass",
Numeric,
"Continuous",
Format("Best", 12),
Set Values(
[78, 89, 72, 72, 74, 81, 70, 74, 84, 89, 52, 81, 52, 60, 64, 83, 53, 60, 70, 64, 70, 55, 82, 74, 69, 83, 56, 71, 54,
50, 53, 67, 88]
)
)
);
dt << New Column("Category", Numeric, Ordinal,
Formula(Floor((:Time -1) / 10)+1)
);
dt << New Column("Category2", Character, Numeric,
Formula(
Char(Floor((:Time - 1) / 10)*10 + 1) || "-" || Char((Floor((:Time - 1)/ 10)+1) * 10)
)
);
dt << New Column("dmdt", Numeric, Continuous,
Formula((Col Max(:Mass, :Category) - Col Min(:Mass, :Category)) / 10)
);
dt_sum = dt << Summary(
Group(:Category),
Mean(:dmdt),
Freq("None"),
Weight("None"),
statistics column name format("column"),
Link to original data table(0)
);