すべてのデータ値に、別のテーブルにある各列の乗数を列名で乗算するにはどうすればよいですか? (乗数テーブルには、列名の列と、他のテーブルの各列に適用する乗数の2番目の列があります。 すべての列に乗数があるわけではありません。)データテーブルの独自の行に乗数を追加することはできますが、行き詰まります。 外部ですばやく実行できることはわかっていますが、JMPで実行する方法があると確信しています。
これは、説明した構成データテーブルに基づいて、ビッグクラスデータテーブルの値を変更する簡単な例です。
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dtConfig = New Table( "Config",
New Column( "Name", character, values( {"age", "height", "weight"} ) ),
New Column( "multiplier", values( {3, ., 2} ) )
);
dtColNames = dt << get column names( string );
For( i = 1, i <= N Rows( dtConfig ), i++,
If( Contains( dtColNames, dtConfig:Name[i] ) & Is Missing( dtConfig:multiplier[i] ) == 0,
temp = Column( dt, dtConfig:Name[i] ) << get values;
temp = temp :*</img> dtConfig:multiplier[i];
Column( dt, dtConfig:Name[i] ) << set values( temp );
)
);ありがとう! 私はそれを内部の顧客に渡しました。 乗数テーブルはすでに存在するため、中央のセクションdtConfigは必要ないと思います。 (例として、大きなクラスで使用する新しい乗数テーブルを作成していました。)Forループでは、dtConfigを乗数テーブルの名前に置き換えるだけです。 それは正しいと思いますか? 再度、感謝します!