Come posso assegnare una data di inizio?Ho uno studio longitudinale con i siti che entrano in date diverse. Per renderli comparabili, devo assegnare ogni data di ingresso come "1" e il secondo punto di raccolta dati come "2" e così via. I dati sono in formato lungo e ci sono molti dati mancanti (raccolta dati mancata)
I dati sono così, voglio generare "Count":
ID Data Var1 Conteggio
001 gennaio-1. .
001 feb-1. .
001 mar-1 10 1
001 aprile-1 13 2
002 gen-1 8 1
002 feb-1 10 2
002 marzo-1. .
Ho usato una formula JRP, ma conta ogni riga indipendentemente dal fatto che la prima misura sia mancante o meno.
Re: Come posso assegnare una data di inizio?Grazie!
Ho cercato di imparare la programmazione JMP e questa interazione aiuta, specialmente quando le richieste strane non sono nei libri.Re: Come posso assegnare una data di inizio?Ho allegato una nuova versione della formula. Dovrebbe funzionare come è stata dichiarata l'ultima modifica.
Tieni presente che la community di discussione non è intesa come una "fabbrica di codici". È lì per aiutare gli utenti a risolvere i problemi in modo che possano imparare e da ciò essere in grado di risolvere i propri problemi.
JMP fornisce una vasta gamma di documentazione. Per favore vai a
Aiuto==>Libri==>Utilizzo di JMP
e
Aiuto==>Libri==>Guida agli script
Re: Come posso assegnare una data di inizio?Grande! Grazie per il chiarimento e la formula rivista! Lo apprezzo.
La revisione funziona TRANNE se il modello mancante è misto. Ad esempio, vedi "Sito=001" di seguito, i miei risultati hanno questo aspetto con la formula rivista (Conteggio) e ciò che voglio che mi dia.
Data del sito Var1 Conte What_I_Want
001 maggio. . .
001 giu 10 1 1
001 lug. . .
001 ago 12 . 2
001 15 settembre . 3
002 13 maggio 1 1
002 giugno 14 2 2
Re: Come posso assegnare una data di inizio?1. Ho allegato una nuova tabella di dati di esempio con la nuova formula che gestisce ciò che stai richiedendo
2. Sì, è necessario modificare il nome della colonna :ID in qualsiasi sia il nome della variabile che riavvia il contatore e :Var 1 in qualsiasi sia il nome della colonna di misurazione.
3. Non dovresti aver cambiato il nome della variabile di memoria chiamata "TheColumn"; Questo non è un nome di colonna, è solo inteso per eseguire alcuni calcoli nella formula. Nella nuova formula ho cambiato il nome della variabile in "Zippy" nel tentativo di mostrare che non è correlato a nessun nome di colonna. L'unico collegamento alla colonna è l'elenco finale della variabile alla fine della formula. JMP prende l'ultima cosa specificata (in questo caso, il valore calcolato di Zippy) e lo passa al valore da utilizzare per la colonna a cui viene applicato il formato, per la riga su cui si sta lavorando la formula.
2. Is Missing() è una funzione che se il contenuto della funzione ":Var 1" è un valore mancante, la funzione restituirà un 1. Se il valore non è mancante, restituisce uno 0. the "== " è un operatore di confronto di "Equal To". Quindi "== 0" chiede se la funzione "Is Missing()" restituisce uno "0", che direbbe che il valore della variabile è un valore valido.
Re: Come posso assegnare una data di inizio?Jim,
Grazie per il seguito.
1. Possiamo fare in modo che la colonna Conteggio smetta di contare quando manca il valore? Nel tuo esempio, ripete l'ultimo numero di conteggio, presumibilmente lo farà fino a quando il numero ID non cambia.
2. Ho copiato e incollato la tua formula. L'unica cosa che ho cambiato nella tua formula è il nome delle variabili in modo che corrisponda esattamente al mio set di dati.
3. La parola "count" non compare in nessuno dei miei nomi di variabile. Ho rinominato la mia variabile "TheCount" in "Colonna 10" e ho ricevuto lo stesso messaggio di errore. Ho anche provato a rinominare la variabile del mio sito. Stesso problema.
4. Sto usando JMP Pro 13.1
Manca (Var1) == 0 Allora TheCount=1
Si traduce come se mancasse Var1, quindi la nuova variabile (TheCount)=1? Ma cosa fa "==0"?
Questo è quello che ho, compresi i nomi delle mie variabili.
Se ( Ritardo ( :IDSito ) != :IDSito,
Se ( Manca ( :NozeroValore ) == 0 ,
:colonna 10 = 1 ,
:colonna 10 = .
),
Se ( Manca ( :NozeroValore ) == 0 ,
:colonna 10 = Somma ( :colonna 10, 1 )
)
);
:colonna 10;
Re: Come posso assegnare una data di inizio?Mi sembra che tu abbia aperto la tabella dati che ho allegato. E da quello che hai affermato, puoi vedere i valori per la colonna Conteggio. Se vedi quei valori, la formula funziona. Il motivo per cui il conteggio va solo a 2 è che il conteggio si azzera quando la colonna ID cambia, il contatore si riavvia, proprio come nell'esempio fornito.
Stai cambiando qualcosa nella formula che sto fornendo? Il problema ricorsivo può verificarsi se stai tentando di utilizzare il nome "Conteggio" nella formula per la colonna denominata "Conteggio". Ecco perché uso il nome della variabile "TheCount" per il calcolo. La formula utilizzerà l'ultimo elemento calcolato per passare al valore da utilizzare per la formula
Infine, quale versione di JMP stai utilizzando?
Re: Come posso assegnare una data di inizio?Hmm. Stesso messaggio di errore. Ho inventato i dati che ti ho fornito, ma è la stessa idea, tranne che ID è un carattere nei miei dati. Farebbe la differenza?
Inoltre, ho notato che la tua formula ha smesso di contare a 2.
Grazie!
Re: Come posso assegnare una data di inizio?allegato è un set di dati con la formula impostata per la colonna Conteggio
Re: Come posso assegnare una data di inizio?Questa formula mi dà il seguente errore
"Riferimento illegale (ricorsivo) 1 volte Alle righe:2"
Seguo la formula, ma non riesco a capire dove sia l'errore.
Re: Come posso assegnare una data di inizio?Ecco una versione della formula che funzionerà
If( Lag( :ID ) != :ID,
If( Is Missing( :Var1 ) == 0,
TheCount = 1,
TheCount = .
),
If( Is Missing( :Var1 ) == 0,
TheCount = Sum( TheCount, 1 )
)
);
TheCount;