<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour, j'espère avoir de l'aide avec les scripts JSL lorsqu'il manque des données dans une table de données.
Nous utilisons JSL pour exécuter une requête sur une base de données qui extrait des données dans une table de données ressemblant à:
assiette | Composé | M1 | M2 | M3 | M4 |
A121 | cmp001 | 85.203 | 30.022 | 36.797 | 0,0629 |
A122 | cmp002 | 84.031 | 34.902 | 31.596 | 0,063 |
A123 | cmp003 | 89.028 | 30,677 | 34.903 | 0,063 |
A124 | cmp004 | 91.2455 | 35.277 | 35,327 | 0,0631 |
A125 | cmp005 | 91.257 | 36.927 | 38.836 | 0,063 |
où M sont toutes des mesures différentes. Nous avons un script JSL qui fait plusieurs tracés à partir des données et fait également un modèle d'ajustement de
Modèle ajusté (
Y (: M1,: M2,: M3,: M4),
Effets (: plaque,: composé,: plaque *: composé),
Personnalité (moindres carrés standard),
Accent (effet de levier),
Courir(
: M1 << {Manque d'ajustement (0), Parcelle réelle par prédite (1),
Régression de tracé (0), résidu de tracé par prédite (1),
Effet de levier sur l'effet de tracé (1), Afficher VIF (1), {: Strain <<
{LSMeans Tukey HSD (0.05, Rapport d'analyse croisée (0))}}},
: M2 << {Manque d'ajustement (0), Parcelle réelle par prédite (1),
Régression de tracé (0), résidu de tracé par prédite (1),
Effet de levier sur l'effet de tracé (1), Afficher VIF (1), {: Strain <<
{LSMeans Tukey HSD (0.05, Rapport d'analyse croisée (0))}}},
: M3 << {Manque d'ajustement (0), Parcelle réelle par prédite (1),
Régression de tracé (0), résidu de tracé par prédite (1),
Effet de levier sur l'effet de tracé (1), Afficher VIF (1), {: Strain <<
{LSMeans Tukey HSD (0.05, Rapport d'analyse croisée (0))}}},
: M4 << {Manque d'ajustement (0), Parcelle réelle par prédite (1),
Régression de tracé (0), résidu de tracé par prédite (1),
Effet de levier sur l'effet de tracé (1), Afficher VIF (1), {: Strain <<
{LSMeans Tukey HSD (0.05, Rapport d'analyse croisée (0))}}},
)
)
Nous rencontrons parfois des problèmes de système de mesure et la totalité de la colonne M3 ou M4 sera remplie de valeurs manquantes (nombre = 0). Lorsque cela se produit, le modèle d’ajustement bloque JSLscript.
Quel est le meilleur moyen de script d'un modèle d'ajustement sur une table de données où une colonne n'aura parfois aucune donnée? Existe-t-il un moyen simple de déterminer d’abord les colonnes contenant des données, puis de les transmettre sous forme de liste à la plateforme Fit Model? Je n'ai pas vraiment envie d'écrire une tonne d'instructions IF pour vérifier quelles colonnes sont pleines ou vides, puis d'exécuter un script de modèle d'ajustement différent car nous avons en réalité plus de 10 mesures différentes et l'une d'entre elles peut manquer n'importe quel jour.
Merci de votre aide.
Au moins dans JMP 9, Fit Model () accepte un argument de liste. Eval () doit être utilisé si la liste est une variable.
Voici un exemple sur la façon de construire une liste avec des colonnes non vides (ne vérifie pas si elle est complète mais est facile à ajouter):
Ys = { : M1 , : M2 , : M3 , : M4 } ;
Pour ( je = N articles ( Ys ) , je > 0 , je -
Résumer ( n = Compter ( Ys [ je ] ) ) ;
Si ( n == 0 ,
Retirer ( Ys , je )
) ;
) ;
Modèle ajusté (
Y ( Eval ( Ys ) ) ,
Effets ( ...