我需要在 IML 中创建一个包含多列的矩阵,并仅对某些列进行一些计算(一列中的值不得更改)。例如,我需要将一列乘以另一列元素。这个的语法是什么?
问问题
167 次
1 回答
1
您可以通过在等号左侧引用要更改的列号来执行此操作。
例如:
proc iml;
x = {1 2,
3 0,
5 4};
y = {1,
2,
3};
x[,1] = x[,1] # y;
print x;
quit;
正如 Rick 在评论中指出的那样,您还可以将 x 的第 1 列与第 2 列相乘:
proc iml;
x = {1 2,
3 0,
5 4};
x[,1] = x[,1] # x[,2];
print x;
quit;
您可能还想查看下标归约运算符,以及 Rick对行和列操作的速记符号的建议,以获取有关相关概念的更多信息。
于 2015-11-12T18:09:04.343 回答