将现有数据表的特定列中的值复制到另一个数据表,同时将所选行乘以常数我已经能够完成第一部分(复制),但我正在努力处理第二部分(乘法)。 任何方向都适用。 我的示例脚本如下。
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;