JMPで縦長のテーブルからベクトル列を生成する最速の方法は何ですか?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
// Data table summary
// → Data Table( "Summary of Big Class Families grouped by age etc." )
tmp = dt << Summary( Group( :age, :sex, :height, :weight ) );
// New formula columns
tmp << New Column( "Rank", Formula( Col Rank( 1, :age, :sex ) ) );
// Split data table
// → Data Table(
// "Split of Summary of Big Class Families grouped by age etc. by Rank[age]"
// )
final = tmp << Split( Split By( :Rank ), Split( :height, :weight ), Group( :age, :sex ) );
final << New Column( "heights",
Expression,
set each value(
Matrix( {:height 1, :height 2, :height 3, :height 4, :height 5, :height 6} )
)
);
final << New Column( "weights",
Expression,
set each value(
Matrix( {:weight 1, :weight 2, :weight 3, :weight 4, :weight 5, :weight 6} )
)
);
final << Delete Columns({:height 1, :height 2, :height 3, :height 4, :height 5, :height 6,:weight 1, :weight 2, :weight 3, :weight 4, :weight 5, :weight 6})
注:欠落している項目は必要ありません。
私の最初の推測では、各行に対応する行を取得するために何らかのループ処理を行い、データテーブルの添え字を使用して値を取得/設定するでしょう。