Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesBonjour, j'ai une question sur la façon de modéliser certaines données que je regarde (JMP 11).
Objectif final : afficher un graphique qui montre le nombre de valeurs d'une colonne de données nominales (X) par rapport à. Colonne de données continue (Y).
Plus loin dans les mauvaises herbes :
J'ai une colonne de données nominales : DieNumber.
Et une colonne de données continue : ResDelta.
Je souhaite afficher le nombre de chaque DieNumber (ex : 1, 2, 3) affiché sur l'axe X au lieu de chaque valeur DieNumber, mais dans Graph Builder, basculer la statistique récapitulative sur N lorsque ResDelta (Continu) est tracé sur l'axe Y. résume Y et ne résume pas les comptes de chaque valeur de X.
La seule solution de contournement que j'ai trouvée consiste à utiliser la fonction Overlay Plot, associant ResDelta à \[Y\], associant DieNumber à \[By\], mais cela divise chaque graphique individuellement lorsque je veux que les données soient toutes dans un seul graphique.
J'ai vraiment du mal avec ça, donc toute aide serait appréciée, merci !les fenêtresRe : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesMerci pour votre aide! Voici à quoi cela a finalement ressemblé. Je vais le nettoyer un peu plus, mais c'est tout !

Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesSi vous triez vos données par « Nom » (en utilisant @ih exemple), la formule suivante vous donnera la somme cumulée des colonnes dans JMP 11
If(Lag(:Name) != :Name | Row() == 1, x = 0);
x++;
x
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesC'est très proche, je ne pense pas que JMP 11 ait Col Cumulative Sum() comme argument. Mais c’est le type de graphique et de modélisation que j’essaie de voir !
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesAah, merci de demander à cet exemple de clarifier votre cas d'utilisation !Si je comprends bien, vous voulez que tous les temps de piste individuels soient tracés sous forme de points séparés, pas seulement un seul point représentant les deux courses de Tim.J'aborderais cela en créant une colonne comptant le nombre de fois où chaque personne a couru autour de la piste jusqu'à présent, puis en comparant cela aux calories brûlées.
La formule pour la colonne times around track pourrait ressembler à ceci (notez comment elle additionne simplement le nombre au lieu d'avoir une référence de colonne dans le premier argument) :


Script pour recréer le graphique :
Voir plus... Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesMerci pour votre aide à tous, si cela clarifie les choses, j'aimerais présenter un problème similaire qui pourrait être plus facile à comprendre.
Exemple de problème :
Tim, Alex et Sara courent sur une piste. Après chaque tour, une mesure des calories brûlées est effectuée.
Tim a couru 2 fois autour de la piste avec des calories brûlées : 75, 155 respectivement.
Alex a couru 4 fois avec des mesures de calories de : 60, 130, 195 et 240 cal.
Sara a couru 5 fois avec des mesures de : 65, 125, 180, 235 et 280 cal.
Comment puis-je tracer le (nombre de fois parcouru) par rapport aux (calories brûlées) ?
Pour relier cela à mon problème:
Noms (nominaux) = ChipDieNum,
(Nominal) Nombre de fois parcourues = Nombre de ChipDieNum,
(Continu) Calories brûlées = Delta Res.
Pour mémoire, j'ai plus de 8 000 entrées de données que j'aimerais modéliser.
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesC'est la solution la plus proche jusqu'à présent parmi toutes les solutions, mais le problème que j'ai est que mon graphique final doit être (Count of ChipDieNum) vs (Res Delta).
Par exemple:
ChipDieNum : 401 a effectué l'étalonnage 3 fois avec des deltas de résistance : -10 200 ; -2000 ; -100 Ohm. Dans les données, ChipDieNum = (401), Count of ChipDieNum = (3) & Res Delta = (-10200,-2000,-100)
ChipDieNum : 510 ont été calibrés 2 fois avec des deltas de résistance : -13 000, -2 600 ; -200 Ohm. Ce qui s'afficherait comme : ChipDieNum = (510), Count of ChipDieNum = (2) & Res Delta = (-13000,-2600,-200)
J'essaie de corréler le fait que Res Delta pour une puce augmente en fonction du nombre de fois où elle a été calibrée en traçant le nombre de ChipDieNum (X) par rapport à Res Delta (Y). Dans un autre sens, j'essaie d'associer plusieurs valeurs Res Delta (Y) avec des valeurs de Count (X) de chaque valeur ChipDieNum où ChipDieNum est Nominal et Res Delta est Continu.
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesVoici une méthode alternative que je pense fonctionnera dans JMP 11 et tracera des valeurs continues, et en dessous se trouve peut-être un moyen plus simple d'afficher ces données à l'aide d'un histogramme :
Méthode 1
Calculez les points à tracer à l'aide d'un tableau avec des types de données ordinaux et un filtre de données local excluant les valeurs manquantes sur ce que serait l'axe des x. Ensuite, dans le nouveau tableau de données, modifiez les types de données en continu et tracez.
- Ajoutez une nouvelle colonne avec une formule comme celle-ci (dans les versions plus récentes de JMP, vous pouvez le faire directement dans la boîte de dialogue de lancement de la plateforme sans créer de colonne) :

- Ouvrez le tableau, changez temporairement la variable y en nominale, vous pouvez la modifier à nouveau après cela.
- Ajoutez un filtre de données local pour exclure les lignes avec des âges manquants, définissez-le sur nominal, puis sélectionnez « 0 »

- Transformer en table de données
- Remettre les types de modélisation de données en continu
- Graphique

Méthode 2
Dans le générateur de graphiques, créez un histogramme en utilisant uniquement l'axe y et ajoutez un filtre de données local excluant les valeurs manquantes sur ce qui serait l'axe x.
- Créez la même colonne "manquant" pour la variable de l'axe X
- Ajoutez cette colonne en tant que filtre de données local dans le générateur de graphiques.
- Ajoutez la variable y à l'axe y, elle doit être continue
- Changer le graphique en histogramme
- Modifiez les paramètres de l'axe y pour quelque chose de raisonnable. Notez que cela effectuera toujours un certain regroupement, donc en fonction de votre paramètre ici, il peut combiner les hauteurs 51,1 et 51,2 dans la même barre avec un nombre de 2.

Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesSalut @Jakedahsnake ,
Comme d'autres membres ont essayé de trouver des solutions à votre problème, j'en essaierai une autre, basée sur les discussions.
Afin de créer le graphique ci-joint, voici les étapes :
- Créez une nouvelle colonne "Count" par Die ID :
// New formula column: Count
Data Table( "dieexample" ) << New Formula Column(
Operation( Category( "Aggregate" ), "Count" ),
Columns( :ResDelta ),
Group By( :Die )
);
- Créez un graphique montrant la distribution de ResDelta en fonction du nombre de points, avec les informations de Die ID dans « Superposition » et des boîtes à moustaches pour faciliter la comparaison (facultatif, et peut être compliqué si vous disposez d'un grand ensemble de données) :
Graph Builder(
Size( 984, 474 ),
Show Control Panel( 0 ),
Variables( X( :Count ), Y( :ResDelta ), Overlay( :Die ) ),
Elements( Points( X, Y, Legend( 10 ) ), Box Plot( X, Y, Legend( 12 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position(
{10, [0, 1, 2, 3, 4], 12, [-1, -1, -1, -1, -1, -3, -3, -3, -3, -3]}
)}
)
)
);
Une fois cela fait, vous devriez accéder au graphique ci-joint (j'ai ajouté des boxplots dans le graphique et le script, mais vous pouvez les supprimer si cela n'est pas utile pour votre objectif) :

J'ai également joint l'ensemble de données que j'ai utilisé pour la démonstration avec le script graphique ci-joint.
J'espère que ceci vous aidera,
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesSi c'est le genre de graphique que vous voulez

Voici la méthode que j'ai utilisée dans JMP 11. Des versions plus récentes faciliteraient les choses.
Tout d'abord, je crée une nouvelle colonne appelée "count" en utilisant la formule
If(Lag(:Die) != :Die | Row() == 1, x = 0);
x++;
x
L’état Label est ensuite appliqué à la colonne Count.
Chaque ligne a l'état de l'étiquette défini pour elle.Cela permettra d'afficher la valeur sous forme d'étiquette.
La colonne ResDelta est glissée vers la zone Y dop
La matrice est glissée vers la zone de dépôt X
Le nombre est glissé vers la zone de dépôt Couleur
Cette dernière étape est effectuée pour que la couleur des points puisse être changée en blanc, afin qu'ils n'apparaissent pas sur le graphique.Pour changer la couleur, il suffit d'aller sur chacun des points colorés de la légende, de faire un clic droit dessus un à un, et de changer la couleur en blanc.
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesResDelta est cependant des données continues. De plus, je n'ai pas de flèches rouges à côté de la liste déroulante des points dans le panneau de configuration. Peut-être parce que j'utilise JMP 11.
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesAah, maintenant je comprends.Vous devez changer votre axe y pour qu'il soit des données ordinales ou nominales, et alors choisissez l'axe de réponse à résumer sous le triangle rouge pour les points.Dans certains cas, vous devrez peut-être d'abord regrouper les données, par exemple en arrondissant au nombre entier le plus proche, mais dans votre cas, il semble que Res Delta soit déjà un nombre entier.

Maintenant, pour une raison quelconque, les étiquettes de l'axe X ont été gâchées lorsque j'ai exécuté ceci, j'ai donc dû accéder aux paramètres de l'axe X et les corriger. Donc, j'ai pensé que ce script devrait fonctionner :
Voir plus...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 502, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
)
);
Noms par défaut ici ( 1 ); dt = Open( "$Sample_data/big class.jmp" ); dt:height << Définir le type de modélisation ("Ordinal"); dt:age << Définir le type de modélisation ("Ordinal"); Générateur de graphiques (taille (502, 256), afficher le panneau de configuration (0), variables (X (: âge), Y (: hauteur)), éléments ( points ( X, Y, légende ( 3), statistiques récapitulatives ( "N " ), Axe de réponse( "X" ) ) ) );
mais à la place, je devais utiliser ceci :
Voir plus...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 501, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"age",
ScaleBox,
{Label Row(
{Tick Mark( Label( "12" ), Label( "0" ) ),
Tick Mark( Label( "13" ), Label( "1" ) ),
Tick Mark( Label( "14" ), Label( "2" ) ),
Tick Mark( Label( "15" ), Label( "3" ) ),
Tick Mark( Label( "16" ), Label( "4" ) ),
Tick Mark( Label( "17" ), Label( "5" ) )}
)}
)
)
);
Noms par défaut ici ( 1 ); dt = Open( "$Sample_data/big class.jmp" ); dt:height << Définir le type de modélisation ("Ordinal"); dt:age << Définir le type de modélisation ("Ordinal"); Générateur de graphiques (taille (501, 256), afficher le panneau de configuration (0), variables (X (: âge), Y (: hauteur)), éléments ( points ( X, Y, légende ( 3), statistiques récapitulatives ( "N " ), Axe de réponse( "X" ) ) ), SendToReport( Dispatch( {}, "age", ScaleBox, {Label Row( {Tick Mark( Label( "12" ), Label( "0" ) ), Cochez Marque( Étiquette( "13" ), Étiquette( "1" ) ), Marque de coche( Étiquette( "14" ), Étiquette( "2" ) ), Marque de coche( Étiquette( "15" ), Étiquette( "3" ) ), Tick Mark( Label( "16" ), Label( "4" ) ), Tick Mark( Label( "17" ), Label( "5" ) )} )} ) ) );
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesJ'ai essayé de le faire, mais pour une raison quelconque, JMP résume Y (je suppose qu'il s'agit de données continues) au lieu de résumer N pour X, donc je finis par obtenir un graphique différent :

Bien que cela montre le nombre de ChipDieNumber, il trace maintenant sur le Y à la place de ResDelta.
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesSous Points, essayez de remplacer la statistique récapitulative par « N » :

Je pense que cela donne ce que vous recherchez :

Script à recréer :
Voir plus...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
win = New Window("Example",
H List Box(
Graph Builder(
Size( 503, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ), Summary Statistic( "N" ) ) )
),
Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :age ) ) )
)
)
);
Noms par défaut ici ( 1 ); dt = Open( "$Sample_data/big class.jmp" ); win = Nouvelle fenêtre("Exemple", Zone de liste H( Générateur de graphiques( Taille( 503, 256 ), Afficher le panneau de configuration( 0 ), Variables( X( :age ), Y( :hauteur ) ), Éléments( Points( X , Y, Légende ( 3 ), Statistique récapitulative ( "N" ) ) ) ), Tabulation ( Afficher le panneau de configuration ( 0 ), Ajouter un tableau ( Table de lignes ( Regroupement de colonnes ( :age ) ) ) ) ) );
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesMerci pour l'accueil chaleureux et j'apprécie le temps que vous consacrez à cela ! J'ai tracé les variables sur X et Y comme je pense qu'elles devraient être, et voici ce que je vois :

C'est presque correct, sauf pour chaque X (ChipDieNum), il peut y avoir plusieurs valeurs Y (ResDelta). Au lieu de tracer les valeurs X, je souhaite tracer le nombre de chaque valeur X (ChipDieNum).
Comme mentionné précédemment, X est défini sur Nominal et Y est Continu.
Re : Comment tracer le nombre de valeurs des données nominales par rapport aux données continuesTout d’abord, bienvenue dans la communauté. Je ne suis pas sûr de comprendre le problème, mais j'ai joint un faux ensemble de données avec de faux chiffres pour deux variables Die et ResDelta. J'ai enregistré un script pour Graph Builder (flèche verte). Cliquez simplement dessus. Est-ce ce que vous recherchez? BTW, je suis sur V17 donc pas sûr que ça fonctionnera sur V11... alors voici le script :
Graph Builder(
Variables( X( :Die ), Y( :ResDelta ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)