將現有資料表的特定欄位中的值複製到另一個資料表,同時將所選行乘以常數我已經能夠完成第一部分(複製),但我正在努力完成第二部分(乘法)。 任何方向都適用。 我的範例腳本如下。
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;
回覆:將現有資料表的特定欄位中的值複製到另一個資料表,同時將所選行乘以常數嗨尼奧
我的腳本作為附件。 希望它可以幫助您解決問題。