Comment attribuer une date de début ?J'ai une étude longitudinale avec des sites entrant à des dates différentes. Pour les rendre comparables, je dois attribuer à chaque date d'entrée "1" et le deuxième point de collecte de données à "2" et ainsi de suite. Les données sont au format long et il y a beaucoup de données manquantes (collecte de données manquées)
Les données ressemblent à ceci, je veux générer "Count":
ID Date Var1 Nombre
001 janvier-1 . .
001 février-1 . .
001 mars-1 10 1
001 avril-1 13 2
002 janvier-1 8 1
002 février-1 10 2
002 mars-1. .
J'ai utilisé une formule JRP, mais elle compte chaque ligne, que la première mesure soit manquante ou non.
Re : Comment attribuer une date de début ?Merci!
J'ai essayé d'apprendre la programmation JMP et cette interaction est utile, surtout lorsque les requêtes étranges ne figurent pas dans les livres.Re : Comment attribuer une date de début ?J'ai joint une nouvelle version de la formule. Cela devrait fonctionner comme votre dernière modification a été indiquée.
Attention, la Communauté de discussion n’est pas conçue comme une « Code Factory ». Il est là pour aider les utilisateurs à résoudre des problèmes afin qu'ils puissent apprendre et ainsi pouvoir résoudre leurs propres problèmes.
JMP fournit une multitude de documentation. S'il vous plaît allez à
Aide==>Livres==>Utilisation de JMP
et
Aide==>Livres==>Guide de script
Re : Comment attribuer une date de début ?Super! Merci pour la clarification et la formule révisée ! Je l'apprécie.
La révision fonctionne SAUF si le motif manquant est mixte. Par exemple, voir "Site=001" ci-dessous, mes résultats ressemblent à ceci avec la formule révisée (Count) et ce que je veux qu'elle me donne.
Date du site Var1 Nombre What_I_Want
001 mai. . .
001 juin 10 1 1
001 juil. . .
001 12 août. 2
001 15 septembre. 3
002 13 mai 1 1
002 14 juin 2 2
Re : Comment attribuer une date de début ?1. J'ai joint un nouvel exemple de tableau de données avec la nouvelle formule qui gère ce que vous demandez
2. Oui, vous devez changer le nom de la colonne :ID par le nom de la variable qui redémarre le compteur, et :Var 1 par le nom de la colonne de mesure.
3. Vous n'auriez pas dû changer le nom de la variable mémoire appelée « TheColumn » ; Ce n'est pas un nom de colonne, il est simplement destiné à effectuer quelques calculs dans la formule. Dans la nouvelle formule, j'ai changé le nom de la variable en "Zippy" pour tenter de montrer qu'elle n'est liée à aucun nom de colonne. La seule connexion à la colonne est le listing final de la variable à la fin de la formule. JMP prend la dernière chose spécifiée (dans ce cas, la valeur calculée de Zippy) et la transmet à la valeur à utiliser pour la colonne à laquelle le format est appliqué, pour la ligne sur laquelle la formule est actuellement utilisée.
2. Is Missing() est une fonction qui si le contenu de la fonction ":Var 1" est une valeur manquante, alors la fonction renverra un 1. Si la valeur n'est pas manquante, elle renvoie un 0. le "== " est un opérateur de comparaison de " Equal To ". Ainsi, "== 0" demande si la fonction "Is Missing()" renvoie un "0", ce qui indiquerait que la valeur de la variable est une valeur valide.
Re : Comment attribuer une date de début ?Jim,
Merci pour le suivi.
1. Pouvons-nous faire en sorte que la colonne Count arrête de compter lorsque la valeur est manquante ? Dans votre exemple, il répète le dernier numéro de décompte et le fera probablement jusqu'à ce que le numéro d'identification change.
2. J'ai copié et collé votre formule. La seule chose que j'ai modifiée dans votre formule est le nom des variables afin qu'il corresponde exactement à mon ensemble de données.
3. Le mot « compte » n'apparaît dans aucun de mes noms de variables. J'ai renommé ma variable "TheCount" en "Colonne 10" et j'ai reçu le même message d'erreur. J'ai également essayé de renommer la variable de mon site. Même problème.
4. J'utilise JMP Pro 13.1
Est manquant (Var1) == 0 Alors TheCount=1
Se traduit comme si Var1 manquait alors la nouvelle variable (TheCount)=1 ? Mais que fait "==0" ?
C'est ce que j'ai, y compris mes noms de variables.
Si ( Décalage ( :IDSite ) != :IDSite,
Si ( Est manquant ( :NozeroValue) == 0 ,
:Colonne 10 = 1 ,
:Colonne 10 = .
),
Si ( Est manquant ( :NozeroValue) == 0 ,
:Colonne 10 = Somme ( :Colonne 10, 1 )
)
);
:Colonne 10 ;
Re : Comment attribuer une date de début ?Il semble que vous ayez ouvert le tableau de données que j'ai joint. Et d'après ce que vous avez déclaré, vous pouvez voir les valeurs du nombre de colonnes. Si vous voyez ces valeurs, alors la formule fonctionne. La raison pour laquelle le compte ne passe qu'à 2 est que le comptage se réinitialise lorsque la colonne ID change, le compteur redémarre, comme dans l'exemple que vous avez fourni.
Changez-vous quelque chose dans la formule que je propose ? Le problème récursif peut se produire si vous essayez d'utiliser le nom « Count » dans la formule de la colonne nommée « Count ». C'est pourquoi j'utilise le nom de variable "TheCount" pour le calcul. La formule utilisera le dernier élément calculé pour passer à la valeur à utiliser pour la formule
Enfin, quelle version de JMP utilisez-vous ?
Re : Comment attribuer une date de début ?Hmm. Même message d'erreur. J'ai inventé les données que je vous ai données, mais c'est la même idée, sauf que l'ID est un caractère dans mes données. Est-ce que cela ferait une différence ?
J'ai également remarqué que votre formule a cessé de compter à 2.
Merci!
Re : Comment attribuer une date de début ?ci-joint est un ensemble de données avec la formule définie pour le nombre de colonnes
Re : Comment attribuer une date de début ?Cette formule me donne l'erreur suivante
"Référence illégale (récursivité) 1 fois aux lignes : 2"
Je suis la formule, mais je n'arrive pas à comprendre où se trouve l'erreur.
Re : Comment attribuer une date de début ?Voici une version de la formule qui fonctionnera
If( Lag( :ID ) != :ID,
If( Is Missing( :Var1 ) == 0,
TheCount = 1,
TheCount = .
),
If( Is Missing( :Var1 ) == 0,
TheCount = Sum( TheCount, 1 )
)
);
TheCount;