將多個子集數據表中的選定行連接到 1 個新數據表中Hi,<BR /><BR />I have a data set(as example, Big Class) that contains all the data. I subset the data by age and select first row of each <BR />subsetted data table. Then, I subset it again so that I can do concatenation of the selected row data into new table. <BR /><BR />I notice that there is additional data (unwanted data ) concatenated in the new table (highlighted in red rectangular). <BR />I am not sure what is the problem of my script. <BR />I attach my script in below.<BR /><SPAN>I really appreciate if anyone could help me to fix this issue.</SPAN><BR />
// Open Big Class data table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//Subset the data table by age
listDT = dt << Subset(
By( :age ),
All rows,
Selected columns only( 0 ),
columns( :name, :sex, :height, :weight )
);
//Select first row of each subset data table
For( i = 1, i <= N Items( listDT ), i++,
listDT[i] << Select Rows( {1} );
listDT[i] << Subset("");
Close(listDT[i],"No Save");
Close(dt,"No Save");
);
// Create Tables list
Tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name );
);
//Create new table
New Table("FirstRowData");
// Run the concatenations
For( i = 1, i <= N Items( Tables ), i++,
Data Table( "FirstRowData" ) << Concatenate(
Data Table( Tables[i] ),
append to first table(1)
);
Close( Data Table( Tables[i] ), No Save );
);
腳本編寫回复:將多個子集數據表中的選定行連接到 1 個新數據表中你好,
這裡的問題似乎是為每個子集創建的表變量。然後將具有相同名稱(“age”)的表變量添加為每個串聯的列。請參閱下面的腳本,並註意添加了用於刪除表變量的 For 循環。這是否為您解決了問題?
// Open Big Class data table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//Subset the data table by age
listDT = dt << Subset(
By( :age ),
All rows,
Selected columns only( 0 ),
columns( :name, :sex, :height, :weight )
);
//Select first row of each subset data table
For( i = 1, i <= N Items( listDT ), i++,
listDT[i] << Select Rows( {1} );
listDT[i] << Subset("");
Close(listDT[i],"No Save");
Close(dt,"No Save");
);
// Create Tables list
Tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name );
);
//Delete table variables
For( i = 1, i <= N Table(), i++,
Data Table(Tables[i]) << Delete Table Variable("age");
);
//Create new table
New Table("FirstRowData");
// Run the concatenations
For( i = 1, i <= N Items( Tables ), i++,
Data Table( "FirstRowData" ) << Concatenate(
Data Table( Tables[i] ),
append to first table(1)
);
Close( Data Table( Tables[i] ), No Save );
);回复:將多個子集數據表中的選定行連接到 1 個新數據表中謝謝!
它完美地工作