Salut les experts en données !
J'ai un ensemble de données que je cherche à mieux organiser.
Énoncé du problème : aimerait un rapport périodique du taux de changement de masse par rapport au temps.
| Temps | Masse (kg) |
| 1 | 20 |
| 2 | 21 |
| 3 | 25 |
| ... | ... |
| dix | 60 |
| 11 | 62 |
| 12 | 64 |
| ... | ... |
| 20 | 79 |
| 21 | 73 |
| 22 | 74 |
| ... | ... |
| 30 | 92 |
| ... | ... |
Bien que je sois ouvert à des solutions alternatives pour satisfaire l'énoncé du problème ci-dessus, ce que je trouve actuellement comme étant probablement la meilleure voie à suivre (mais j'ai du mal à comprendre comment mettre en œuvre) est le suivant :
Transposez les données en sous-ensembles de 10 pour obtenir ceci :
| Intervalles de temps | 1-10 | 11-21 | 22-32 | 33-43 | 44-54 | etc... |
| dM/dt | =(60-20)/10 | =(62-73)/10 | etc.. | | | |
Je me demande si quelqu'un peut m'expliquer comment je ferais ça...
Merci!
-Haley
Les intervalles changent, est-ce exprès ? Le premier est de 10 valeurs, mais le reste est de 11 valeurs.
J'ajouterais deux colonnes de formules :
- Premier à calculer la catégorie
- Deuxième pour calculer dM/dt
Ensuite, je créerais un tableau récapitulatif et le signalerais.
Tableau de départ :

Résultat final :

Voici un exemple de script avec deux calculs pour les catégories et se terminant par un tableau récapitulatif, tout cela peut également être fait de manière interactive à partir de 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)
);
salut @haleyhoewt ,
dans le tableau suivant, vous avez un script qui produira le résumé du tableau.
vous pouvez changer la taille des plages en modifiant un numéro dans la colonne de séquence comme sur l'image,

dis nous si ça aide