將現有數據表的特定列中的值複製到另一個數據表,同時將所選行乘以常數我已經能夠完成第一部分(複製),但我正在努力處理第二部分(乘法)。 任何方向都適用。 我的示例腳本如下。
Names Default To Here( 1 );
bcdt = Open( "$SAMPLE_DATA\Big Class.jmp", invisible ); //load a data-table
myNewdt = New Table( "Parameters Table", //create a new data-table
Add Rows(8),
New Column( "Parameter" ),
New Column( "H", Numeric),
New Column( "W" ),
);
Column(myNewdt, "Parameter")[1] = "A";
Column(myNewdt, "Parameter")[2] = "B";
Column(myNewdt, "Parameter")[3] = "C";
Column(myNewdt, "Parameter")[4] = "D";
Column(myNewdt, "Parameter")[5] = "E";
Column(myNewdt, "Parameter")[6] = "F";
Column(myNewdt, "Parameter")[7] = "G";
Column(myNewdt, "Parameter")[8] ="I";
vals = Column(bcdt, "height")[4::11]; //get the values to be copied. Note data type becomes "character"
//show (vals);
For( i = 1, i <= N Items(Vals), i++, //copy values
:H[i] = vals[i]
);
上述腳本複制數據文件“高度”列中的值bcdt到另一個數據文件的“H”列我的紐特。 但是,我想要例如列“高度”中的第 9 行和第 10 行條目bcdt乘以一個常數,比如 0.0001 並將其傳遞給另一個數據文件的“H”列的相同行(第 9 和第 10)我的紐特。 其他行值將不加修改地複制。 如何實現這一目標?
數據表腳本編寫回复:將現有數據表的特定列中的值複製到另一個數據表,同時將選定的行乘以常數嗨尼奧
我的腳本作為附件。 希望它可以幫助您解決問題。
回复:將現有數據表的特定列中的值複製到另一個數據表,同時將所選行乘以常數這是我處理這個的方式
Names Default To Here( 1 );
bcdt = Open( "$SAMPLE_DATA\Big Class.jmp", invisible ); //load a data-table
myNewdt = New Table( "Parameters Table", //create a new data-table
Add Rows(8),
New Column( "Parameter" ),
New Column( "H", Numeric),
New Column( "W" ),
);
Column(myNewdt, "Parameter")[1] = "A";
Column(myNewdt, "Parameter")[2] = "B";
Column(myNewdt, "Parameter")[3] = "C";
Column(myNewdt, "Parameter")[4] = "D";
Column(myNewdt, "Parameter")[5] = "E";
Column(myNewdt, "Parameter")[6] = "F";
Column(myNewdt, "Parameter")[7] = "G";
Column(myNewdt, "Parameter")[8] ="I";
bcdt:height[9] = bcdt:height[9] * .0001;
bcdt:height[10] = bcdt:height[10] * .0001;
vals = Column(bcdt, "height")[4::11]; //get the values to be copied. Note data type becomes "character"
myNewdt:H << set values(vals);
// or
//vals = Column(bcdt, "height")[4::11]; //get the values to be copied. Note data type becomes "character"
//vals[6] = vals[6] * .0001;
//vals[7] = vals[7] * .0001;
//myNewdt:H << set values(vals);
// or
//vals = Column(bcdt, "height")[4::11]; //get the values to be copied. Note data type becomes "character"
//myNewdt:H << set values(vals);
//myNewdt:height[6] = myNewdt:height[6] * .0001;
//myNewdt:height[7] = myNewdt:height[7] * .0001;