Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableauSalut,
J'utilise JMP version 16.
Je transfère des données d'un tableau croisé dynamique. J'ai demandé un arrondi à 3 décimales. Les données sont ensuite enregistrées dans une chaîne, qui sera utilisée pour afficher les résultats dans un tableau. Voir le code ci-dessous.
// Get data from CrossTab table
crossTab = reportFitmod[Outline Box( "LSMeans Differences Student's t" )][CrosstabBox( 1 )] << get as matrix;
meandiff = Round( crossTab[1, 2] , 3 );
lowerCL = Round( crossTab[3, 2] , 3 );
upperCL = Round( crossTab[4, 2] , 3 );<BR /><BR /> // Create the Difference in mean and CL string<BR />Insert Into( dif, Char( meandiff ) || " [" || Char( lowerCL ) || " ; " || Char( upperCL ) || "]" );
J'ai deux questions concernant le reporting :
1. Pourquoi indique-t-il par exemple 0,019 comme 0,02 au lieu de 0,020 alors qu'il est spécifié de signaler 3 décimales ?
2. Cela fonctionnait auparavant, mais plus maintenant : la valeur 0,0015 est arrondie à 0,001 au lieu de 0,002. Savez-vous pourquoi et comment corriger ce problème ? Je souhaite conserver les règles d'arrondi habituelles (4 arrondis ou moins à l'inférieur et 5 arrondis ou plus à l'inférieur).
Analyse et modélisation des données de baseRe : Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableau1. Je pense que si vous souhaitez avoir ces zéros supplémentaires dans JMP, vous devez spécifier le format et le convertir en chaîne
Format(1.100, "Fixed Dec", 10, 3)
2. Êtes-vous sûr d'arrondir 0,0015 et pas autre chose ? Quelle est la valeur réelle de votre matrice ? Même si la plateforme affiche 0,0015, la valeur est probablement plus précise en réalité, par exemple 0,00149, qui serait alors arrondi à 0,0015.
Re : Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableauSalut Jarmo,
Merci pour la réponse !
1. Je vais essayer ça, merci.
2. Il faut aller au tableau croisé et prendre de la deuxième colonne, ligne 1, ligne 3 et ligne 4 (Moyenne[i]-Moyenne[j], Dif CL inférieur et Dif CL supérieur).
Veuillez voir l'image ci-dessous.

La différence moyenne est imprimée avec cette ligne
meandiff = Round( crossTab[1, 2] , 3 );
Il devrait être arrondi à trois décimales et selon les règles d'arrondi habituelles. Il n'a tout simplement pas été arrondi correctement et je n'arrive pas à comprendre ce qui ne va pas.
Re : Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableauAvez-vous vérifié les valeurs réelles ? Les valeurs affichées dans le rapport JMP sont probablement déjà arrondies. C'est ce que fait JMP18.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Drug.jmp");
obj = Fit Model(
Y(:y),
Effects(:Drug, :x),
Personality(Standard Least Squares),
Emphasis(Effect Leverage),
<< Run(:Drug << {LSMeans Student's t(.05, Ordered Differences Report(1))})
);
m = Report(obj)["Response y","Drug","LSMeans Differences Student's t",CrosstabBox(1)] << get as matrix;
show(m);

Re : Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableauJe n'ai pas réussi à exécuter la ligne suivante
m = Report(obj)[ :Result , :Person , "LSMeans Differences Student's t" , CrosstabBox(1)] << get as matrix;
J'ai donc ouvert le rapport des différences ordonnées. Je constate que la différence totale est de 0,0015000 ; elle n'est donc pas arrondie deux fois.

Re : Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableauVous aviez déjà le script pour votre cas pour extraire la matrice
crossTab = reportFitmod[Outline Box( "LSMeans Differences Student's t" )][CrosstabBox( 1 )] << get as matrix;
Vérifiez simplement les valeurs en imprimant le tableau croisé
Re : Arrondi incorrect lors du transfert d'un tableau croisé dynamique vers un nouveau tableauAh, merci ! J'ai sorti les résultats et je vois que c'est parce que quand on arrondit à 2 décimales au lieu de 3, l'arrondi est différent.
tableau croisé = [0 0,0014999999999999987, 0 0,000298142396959379, 0 0,000835697341910363, 0 0,00216430265808938, -0,00149999999999987 0, 0,000298142396959379 0, -0,00216430265808938 0, -0,000835697341910363 0] ;
Merci beaucoup pour votre aide:)