1 つの列内の複数の行を 1 つの値に設定するこんにちは、
ノブさんの質問…
特定のタイプのオブジェクト、たとえば {'cats'、'dogs'、'birds'} の一意の識別子 (UID) を持つ列があります。 各 UID には複数の行が関連付けられており、それらを連想配列にキャプチャしました。
例: aa = { '猫' => [1, 2, 3]、'犬' => [4, 5, 6]、'鳥' => [7, 8, 9] }
各 UID に対して、すべての行が関連付けられており、異なる列 (col2) を単一の値に設定する必要があります。
例: UID「cats」の場合、col2 の行 1、2、および 3 を「昼寝が好き」に設定する必要があります。
- << すべての値を設定する関数は知っていますが、これは列内のすべての行に単一の値をコピーします。
- dt:col 2[ aa[ 'cats' ] ] = 'likes napping' を使用すると、L 値エラーが発生し、行数に等しい値の行列が必要であることが通知されるため、各行を割り当てることができます。その値。
- または、for ループ内にネストされた for ループを使用して、必要な場所に値を割り当てることもできます。
ただし、これはすべて不格好に思えます。 もっと良い方法があるはずです。
以下に 2 つの連想配列を示します。
- { UID => [行] }
- {UID => 値 }

自動化とスクリプト作成基本的なデータ分析とモデリングコンテンツの構成データアクセスウィンドウズRe: 1 つの列内の複数の行を 1 つの値に設定するこの投稿を作成したときに、別の可能性を追加するのを忘れていました。 注: このデータセットには多くの行が含まれています。
// This completely removes the need to store rows in an AA, but takes a decent amount of time
for( i = 1, N rows( dt ), i++,
row_UID = dt:UID[i];
dt:col2[i] = aa_value[row_UID];
);Re: 1 つの列内の複数の行を 1 つの値に設定するこのようにデータテーブルのインデックスを使用します

データテーブルの添字付け
Re: 1 つの列内の複数の行を 1 つの値に設定するこの操作には JMP のテーブル操作機能を使用します。
Names Default To Here( 1 );
animals = {"cats", "dogs", "birds"};
dt = New Table( "lots of animals",
add rows( 100 ),
New Column( "UID",
character,
set each value( animals[Random Integer( 1, 3 )] )
)
);
// Build the attribute table
dtLookup = new table("Lookup",
add rows(3),
new column("UID", character,
values({"cats", "dogs", "birds"})
),
new column("col2", character,
values({"likes napping","likes frisbee","likes cracker"})
)
);
// Update the table to expand all values into matching rows
Data Table( "lots of animals" ) << Update(
With( Data Table( "Lookup" ) ),
Match Columns( :UID = :UID )
);

Re: 1 つの列内の複数の行を 1 つの値に設定するデータテーブルのサブストリップはとてもクールです!
なぜ連想配列なのか?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myMatrix= dt<< getrowswhere(age==12);
dt[myMatrix,{age}]=999Re: 1 つの列内の複数の行を 1 つの値に設定する元の質問のせいですが、連想配列もクールです。
Re: 1 つの列内の複数の行を 1 つの値に設定する@Craige_Hales 、このサイトのどこかに、サブスクリプションに関するこのトリックを説明するスレッドがあります。 このような裏技があるのでブックマークしておいたほうがいいかもしれません!ありがとう!
Re: 1 つの列内の複数の行を 1 つの値に設定する@Craige_Hales , さらに詳しく知りたい人のために、サブスクリプションに関するスレッドへのリンクを示します。
PS - これらのトリックを使用すると、時間を大幅に節約できます。 100%読む価値があります!
https://community.jmp.com/t5/Uncharted/Data-table-subscripting/ba-p/21013