Erstellen einer ZeitvariablenHallo alle,
Ich bin relativ neu in der JMP-Welt und versuche, einen Datensatz zu bearbeiten.
Ich versuche gerade, eine Möglichkeit zu finden, die Zeit innerhalb eines Versuchs innerhalb meiner Daten zu messen. Dazu habe ich eine Lag-Variable erstellt, die mir mitteilt, wann ein neuer Versuch beginnt. Ich habe jetzt versucht, eine Variable zu erstellen, die mir die Anzahl der Präsentationen der Manipulation innerhalb jedes Versuchs gibt, damit ich diese dann verwenden kann, um schließlich das Maß der Zeit innerhalb jedes Versuchs zu erhalten. Ich habe diesen Prozess als Wenn-Dann-Anweisung eingerichtet und dachte, das würde funktionieren, aber ich hatte noch kein Glück, den gewünschten Endpunkt zu erreichen. Der aktuelle Code ist unten.
If( :Lag1 == 1, 1,
:Lag1 == 0, Empty () )
Ich möchte, dass die neue Variable gleich 1 ist, wenn die Lag1-Variable gleich 1 ist. Wenn Lag1 gleich 0 ist, möchte ich, dass es hochzählt, bis es zum nächsten lag1 == 1 kommt, in dem es mit einer neuen Zählsequenz beginnen soll. Ich habe viele verschiedene Funktionen innerhalb der JMP-Skripte ausprobiert und bisher Glück gehabt.
Jede Hilfe wird sehr geschätzt!
Betreff: Erstellen einer Zeitvariablen
Okay. Betrachtet man also nur den ausgewählten Bereich. Ich würde wollen:
Nback#=1, Dauer=14303912, Kumulative Dauer=0
Nback#=2 , Dauer=14305914, Gesamtdauer=2002
Nback#=3 , Dauer=14307916, Gesamtdauer=4004
Nback#=4 , Dauer=14309965, Gesamtdauer=6053
Nback#=5 , Dauer=14312015, Gesamtdauer=8103
Nback#=6 , Dauer=14314051, Gesamtdauer=10139
Hoffentlich hilft das, alles klarer zu machen. Das ist es, was ich idealerweise in dieser neuen Kolumnenerstellung haben möchte.
Betreff: Erstellen einer ZeitvariablenFür diesen ersten Fall gibt es eine Dauer.Wie sollte das also aussehen, wenn Nback# 2 ist?Die Summe der Dauer für 1 und für 2?
Soll diese Spalte die kumulierte Dauer sein? Gibt es eine Dauer, wenn Nback# 1 ist?
Möglicherweise müssen Sie für jede Instanz eine Nback# 0-Zeile hinzufügen, bei der die Dauer null ist.
Ihre Anfrage ist nicht eindeutig.Erstellen Sie ein 5-zeiliges Beispiel für Nback#, Dauer und diese kumulative Dauer, damit klar ist, was benötigt wird.
Betreff: Erstellen einer ZeitvariablenIch möchte den Wert für Nback # of Letters Presented ==1 bis 0. Die aktuelle Spalte, in der Nback Start gemessen wird, ist eine kumulative Summe, aber ich möchte wissen, wie viel Zeit für jede Nback-Präsentation innerhalb dieses Versuchs vergangen ist. Um dies zu tun, möchte ich, dass der Beginn von jedem 0 ist, damit ich auch Vergleiche über mehrere Versuche hinweg anstellen kann.
Betreff: Erstellen einer ZeitvariablenIch glaube nicht, dass Sie 0 wollen, wenn Nback # of Letters Presented ==1. Möchten Sie die Dauer für diese Zeile nicht?Hier ist ein Screenshot und die Formel


If( :Nback # of Letters Presented == 1,
:Duration,
Lag( :Cumulative Duration, 1 ) + :Duration
)
Betreff: Erstellen einer ZeitvariablenIch habe ein zweites Problem beim Erstellen dieses allgemeinen Zeitmaßes. Ich habe einen Screenshot angehängt, der zeigt, wie die Daten bisher aussehen. Ich muss jetzt eine Variable erstellen, die "Time in Trial" heißt, wo ich im Grunde den "Nback Start" minus den "Nback Stop" nehme.
Genauer gesagt müssten mehrere Dinge passieren.
1. Wenn "Nback # of letters presented" gleich 1 ist, sollte die "time in trial" gleich 0 sein. Dann als die "Nback # of letters presented" erhöht sich die "time in trial" sollte sich ebenfalls erhöhen.
2. Dieser Anstieg sollte aufhören, wenn ich eine weitere 1 in "Nback # of letters presented" erreiche und wieder bei 0 für "time in trial" beginnen.
Jede Anleitung wäre sehr willkommen.
Betreff: Erstellen einer ZeitvariablenMeine Daten wurden wie das Bild auf der rechten Seite eingerichtet und genau wie Sie gesagt haben, hat das Skript, das Sie mir gegeben haben, funktioniert!
Vielen Dank für deine Hilfe. Ich schätze es sehr!
Betreff: Erstellen einer ZeitvariablenIhre Daten sehen sortiert aus. Es muss eine Spalte geben, die eine einzigartige Prüfung darstellt, den Anfang und das Ende.Wenn Ihre Daten wie das linke Bild aussehen, habe ich das gemeint, vielleicht hätte ich es gemischte Versuche nennen sollen.
Wenn Ihre Daten wie links aussehen, würde Zeile 8 eines A-Versuchs eine 1 haben?Wenn ja, dauert dieser Versuch nur 1 Periode oder soll die Zählung von As fortgesetzt werden?
Wenn Ihre Daten wie in der Tabelle rechts aussehen, dann funktioniert die von mir gesendete Funktion so, wie Sie sie beschrieben haben, und wird im Screenshot angezeigt
Not sorted by TrialNicht nach Versuch sortiert
Sorted by trials and function Sortiert nach Prüfungen und Funktion
Betreff: Erstellen einer ZeitvariablenIch verwende eine Verzögerungsfunktion, um den Beginn und das Ende jedes Versuchs zu identifizieren. Jede Versuchsperson hat jeweils 4 Versuche, und die Einsen und Nullen sind nicht voneinander getrennt, sie sind in den gesamten Versuchspersonendaten miteinander verflochten. Die Länge jeder Studie hängt von der Länge dieser spezifischen Studie ab und ist nicht für jeden Teilnehmer gleich.
Aus diesem Grund bin ich mir nicht sicher, ob das, was Sie vorgeschlagen haben, für den Datensatz, den ich habe, vollständig funktioniert. Es gibt ein Beispiel dafür, was ich damit meine, dass meine Nullen und Einsen in meinem Datensatz miteinander verflochten sind, falls das hilfreich ist.
Danke für Ihre Antwort!

Betreff: Erstellen einer ZeitvariablenErstellen Sie eine neue Spalte, hier habe ich sie :Group Order genannt, hier ist die Funktion. Beachten Sie, dass JMP eine Funktion namens lag() hat, nur für den Fall, dass Sie damit nicht vertraut sind.
If( row()==1 | :Lag1==1, 1,
:Lag1==0, lag(:Group Order)+1
)
Dies setzt natürlich voraus, dass Ihre Tabelle sortiert ist. Hier ist ein Skript, das damit beginnt, Big Class so zu ändern, dass es ein Layout wie Ihre Tabelle mit :Lag1 hat. Erstellt dann die Spalte mit obiger Funktion.
Names default to here(1);
dt = Open("$sample_data/big class.jmp");
dt << sort( By(:sex, :age), Replace Table);
//needs to be sorted so 1's and 0's are not mixed
dt << New Column("Lag1", numeric, <<SET each="" value=""></SET>