Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Bonjour à tous.
Dans JMP, je travaille avec des données de stabilité extraites d'un système LIMS. Lors de l'analyse, j'aurais le temps en mois sur l'axe X. Les données extraites se présentent sous deux « formats » d'heure : soit sous forme de temps indiqué en mois (par exemple "M-12" ou "M-36"), soit sous forme de temps indiqué en jours (par exemple "EOS-968" ou "EOS-1011"). ). Toutes les données sont situées dans la même colonne.
J'ai besoin que les données continuent à être en mesure de faire l'analyse requise. Concernant le temps en mois, je supprime normalement simplement le « M- » en effectuant une « recherche et remplacement » – et en laissant le remplacement vide. C'est plus de travail de changer les jours en mois.
Ma propre idée initiale était de supprimer d'abord la partie « EOS- », puis de recalculer en mois, mais comme les données sont toutes situées dans la même colonne, j'ai du mal à séparer les deux « ensembles de données » jusqu'à ce qu'ils aient le même unité.
Auriez-vous de bonnes idées sur la façon dont je peux réaliser plus facilement cette transformation ? Peut-être qu'un petit script est nécessaire ?
Toute aide est grandement appréciée.
Cordialement
Henriette
Ingénierie Qualité et ProcédésRe : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Salut Dale.
Merci beaucoup pour votre aide.
BR Henriette
Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Bonjour Jarmo.
Cela a parfaitement fonctionné. Merci beaucoup pour votre aide.
BR Henriette
Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Je vois d'autres idées similaires, ci-jointes, c'est la mienne (sans script).
Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Vous n'avez pas besoin de le stocker dans une variable.
Exemple ci-dessous. Exécutez le script et vérifiez la formule pour MonthNumber :
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Time", Character, "Nominal", Set Values({"M-12", "M-36", "EOS-968", "EOS-1011"}))
);
dt << New Column("MonthNumber", Numeric, Continuous, Formula(
If(StartsWith(:Time, "M"),
Num(Word(2, :Time, "-"))
,
StartsWith(:Time, "EOS"),
Num(Word(2, :Time, "-"))/30
,
. //if starts with something else than "M" or "EOS"
);
));
Vous pouvez ensuite modifier la formule selon vos besoins.
Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Bonjour.
Merci beaucoup pour votre aide. Je suis totalement nouveau dans les scripts JMP, alors peut-être pourrez-vous m'orienter dans la bonne direction en effectuant les logiques manquantes.
Pour la "logique mensuelle", je veux juste supprimer la partie "M-", donc je pense que la fonction Word de la réponse de Dales devrait faire l'affaire.
Pour la "logique du jour", je souhaite supprimer la partie "EOS-" (à l'aide de la fonction Word), puis calculer la partie numérique des jours en mois. C'est peut-être une question stupide, mais puis-je simplement ajouter deux lignes de codage ou dois-je les stocker dans une variable d'une manière ou d'une autre ?
Merci 
Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?Salut Dale. Merci pour votre aide. Autant que je sache, utiliser la fonction Word telle que décrite me donnera une colonne de données continues (oui), mais dans deux unités différentes (jours et mois).
Avez-vous des idées sur la façon dont je peux recalculer les jours en mois, mais uniquement pour les lignes où la valeur numérique est en jours ?
BR Henriette
Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?En plus d'utiliser Word(), vous pouvez utiliser les instructions Commence par et Si pour déterminer comment calculer le mois.
Ce script ci-dessous ajoutera les valeurs d'espace réservé 1 (mois) et 2 (jour). Remplacez-les par votre logique de calcul du mois
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(4),
New Column("Time", Character, "Nominal", Set Selected, Set Values({"M-12", "M-36", "EOS-968", "EOS-1011"}))
);
dt << New Column("MonthNumber", Numeric, Continuous, Formula(
If(StartsWith(:Time, "M"),
//month logic here
1
,
StartsWith(:Time, "EOS"),
//day logic here
2
,
. //if starts with something else than "M" or "EOS"
);
));

Re : Comment transformer une colonne de données temporelles (nominales) en données continues en une unité (mois) ?La fonction "word" semble faire l'affaire - voir le fichier d'exemple ci-joint.