仅对 SAS IML 中矩阵中的某些列执行计算
Performing calculations on only certain columns in a matrix in SAS IML
我需要在 IML 中创建一个包含多列的矩阵,并仅对某些列进行一些计算(一列中的值不得更改)。例如,我需要将一列乘以另一列元素。这个的语法是什么?
您可以通过在等号左侧引用要更改的列号来执行此操作。
例如:
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;
您可能还想查看 subscript reduction operators, as well as Rick's suggestions for shorthand notation for row and column operations 以了解有关相关概念的更多信息。
我需要在 IML 中创建一个包含多列的矩阵,并仅对某些列进行一些计算(一列中的值不得更改)。例如,我需要将一列乘以另一列元素。这个的语法是什么?
您可以通过在等号左侧引用要更改的列号来执行此操作。
例如:
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;
您可能还想查看 subscript reduction operators, as well as Rick's suggestions for shorthand notation for row and column operations 以了解有关相关概念的更多信息。