時間変数の作成皆さんこんにちは、
私は JMP の世界では比較的新しく、データセットを処理しようとしています。
私は自分のデータ内でトライアル内の時間を測定する方法を作成しようとしている最中です。 そのために、Lag 変数を作成しました。これは、新しい試行がいつ開始されるかを教えてくれます。 私は現在、各トライアル内の操作のプレゼンテーションの数を与える変数を作成しようとしています。これを使用して、最終的に各トライアル内の時間の測定値を取得できます。 私はこのプロセスを if, then ステートメントとして設定しましたが、それがうまくいくと考えていますが、まだ目的のエンドポイントにたどり着くことができませんでした. 現在のコードは以下です。
If( :Lag1 == 1, 1,
:Lag1 == 0, Empty () )
Lag1 変数が 1 に等しいときに、新しい変数を 1 に等しくしたい。 Lag1 が 0 の場合、次のラグ 1 == 1 に到達するまでカウントアップする必要があります。この場合、新しいカウント シーケンスで最初からやり直す必要があります。 私は JMP スクリプト内でさまざまな機能を試しましたが、今のところ成功しています。
どんな助けでも大歓迎です!
Re: 時間変数の作成
わかった。 したがって、選択した領域のみを見る場合。 私が欲しい:
Nback#=1、期間=14303912、累積期間=0
Nback#=2 、期間 = 14305914、累積期間 = 2002
Nback#=3 、期間 = 14307916、累積期間 = 4004
Nback#=4 、期間 = 14309965、累積期間 = 6053
Nback#=5 、期間 = 14312015、累積期間 = 8103
Nback#=6 、期間 = 14314051、累積期間 = 10139
うまくいけば、これがすべてをより明確にするのに役立ちます。 これは、この新しい列の作成で私が理想的に望むものです。
Re: 時間変数の作成その最初のケースには期間があります。では、Nback# が 2 の場合、これはどのように見えるでしょうか?1 と 2 の持続時間の合計は?
この列を累積期間にしますか? Nback# が 1 の期間はありますか?
継続時間がゼロのインスタンスごとに Nback# 0 行を追加する必要があるかもしれません。
あなたの要求は明確ではありません。Nback#、期間、およびこの累積期間の 5 行の例を作成して、何が必要かを明確にします。
Re: 時間変数の作成値が欲しいNback 提示文字数 ==1 が 0 になる。 Nback Start を測定している現在の列は累積合計ですが、そのトライアル内の各 nback プレゼンテーションにかかった時間を知りたいです。 これを行うには、複数の試行間で比較できるように、それぞれの開始を 0 にします。
Re: 時間変数の作成Nback # of Letters Presented == 1 の場合、0 は必要ないと思います。 その行の期間が必要ですか?ここにスクリーンショットと式があります


If( :Nback # of Letters Presented == 1,
:Duration,
Lag( :Cumulative Duration, 1 ) + :Duration
)
Re: 時間変数の作成この全体的な時間の尺度を作成しているときに、2 つ目の問題があります。 これまでのデータがどのように見えるかを示すスクリーンショットを添付しました。 ここで、基本的に「Nback 開始」から「Nback 停止」を差し引いた「試行時間」と呼ばれる変数を作成する必要があります。
より具体的には、いくつかのことが起こる必要があります。
1.「提示された文字の数」が 1 の場合、「試行時間」は 0 になります。 次に、 「提示された手紙の数」が増加すると、「試行時間」も増加するはずです。
2. この増加は、「提示された文字数の Nback #」がさらに 1 に達すると止まり、「試行時間」が 0 に戻るはずです。
ガイダンスをいただければ幸いです。
Re: 時間変数の作成私のデータは右の画像のように設定され、あなたが私にくれたスクリプトがうまくいったと言ったように!
手伝ってくれてどうもありがとう。 大変感謝しています!
Re: 時間変数の作成データがソートされているように見えます。 一意の試行、開始と終了を表す列が必要です。あなたのデータが左の写真のように見える場合、それは私が意図したことであり、混合試験と呼ぶべきだったのかもしれません.
データが左のように見える場合、行 8 の A 試行は 1 になりますか?はいの場合、その試用期間は 1 期間だけですか、それとも As のカウントを継続する必要がありますか?
データが右の表のように見える場合、送信した関数は説明どおりに機能し、スクリーンショットに表示されます
Not sorted by Trial試用版でソートされていません
Sorted by trials and functionトライアルと機能でソート
Re: 時間変数の作成ラグ関数を使用して、各試行の開始と終了を識別しています。 各被験者にはそれぞれ 4 回の試行があり、1 と 0 は互いに分離されておらず、被験者全体のデータ内で絡み合っています。 各トライアルの長さは、その特定のトライアルの長さによって異なり、参加者ごとに同じではありません。
このため、あなたが提案したことが私が持っているデータセットで完全に機能するかどうかはわかりません. データセット内で 0 と 1 が絡み合っているという意味の例があります。
返信してくれてありがとう!

Re: 時間変数の作成新しい列を作成します。ここではそれを :Group Order と呼びます。関数は次のとおりです。 注意 JMP には、よく知られていない場合に備えて、lag() という関数があります。
If( row()==1 | :Lag1==1, 1,
:Lag1==0, lag(:Group Order)+1
)
もちろん、これはテーブルがソートされていることを前提としています。 これは、Big Class を変更して、:Lag1 を使用してテーブルのようなレイアウトにすることから始まるスクリプトです。 次に、上記の関数で列を作成します。
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>