SPSS:select 矩阵中列或行的子集
SPSS: select a subset of columns or rows from a matrix
如何在 SPSS 中 select 矩阵中的列或行的子集?
给定以下示例,我想计算包含 X 的前两列的矩阵 X2。
MATRIX.
COMPUTE
X = {1, 2, 2;
0, -1, 1;
1, 1, -2}.
* Compute new matrix X2 that contains the first two columns of X
MAGIC CODE ;)
END MATRIX.
SPSS 中矩阵子集运算的语法是什么?
MATRIX.
COMPUTE X = {1, 2, 3; 4, 5, 6; 7, 8, 9}.
COMPUTE Y=MAKE(NROW(X),2,0).
LOOP i=1 to NROW(Y).
LOOP j=1 to NCOL(Y).
COMPUTE Y(i,j)=X(i,j).
END LOOP.
END LOOP.
PRINT X.
PRINT Y.
END MATRIX.
您可以对矩阵进行子集化,因此它只是 COMPUTE XSub = X(:,1:2).
下面的完整示例。
MATRIX.
COMPUTE X = {1, 2, 2;
0, -1, 1;
1, 1, -2}.
COMPUTE XSub = X(:,1:2).
PRINT XSub.
END MATRIX.
对于评论中的add-on问题,1:n
基本上SPSS理解为1 2 3 .... n
的一个行向量。不过,您可以创建自己的向量来对矩阵进行子集化,例如 {1,3}
或 {2,2}
或 {3,1}
或其他。最后一个示例将 return 子集矩阵中的第 3 列放在第一位,第一列放在第二位。下面的示例:
MATRIX.
COMPUTE X = {1, 2, 2;
0, -1, 1;
1, 1, -2}.
COMPUTE XSub = X(:,{3,1}).
PRINT XSub.
END MATRIX.
打印出
Run MATRIX procedure:
XSUB
2 1
1 0
-2 1
------ END MATRIX -----
如何在 SPSS 中 select 矩阵中的列或行的子集?
给定以下示例,我想计算包含 X 的前两列的矩阵 X2。
MATRIX.
COMPUTE
X = {1, 2, 2;
0, -1, 1;
1, 1, -2}.
* Compute new matrix X2 that contains the first two columns of X
MAGIC CODE ;)
END MATRIX.
SPSS 中矩阵子集运算的语法是什么?
MATRIX.
COMPUTE X = {1, 2, 3; 4, 5, 6; 7, 8, 9}.
COMPUTE Y=MAKE(NROW(X),2,0).
LOOP i=1 to NROW(Y).
LOOP j=1 to NCOL(Y).
COMPUTE Y(i,j)=X(i,j).
END LOOP.
END LOOP.
PRINT X.
PRINT Y.
END MATRIX.
您可以对矩阵进行子集化,因此它只是 COMPUTE XSub = X(:,1:2).
下面的完整示例。
MATRIX.
COMPUTE X = {1, 2, 2;
0, -1, 1;
1, 1, -2}.
COMPUTE XSub = X(:,1:2).
PRINT XSub.
END MATRIX.
对于评论中的add-on问题,1:n
基本上SPSS理解为1 2 3 .... n
的一个行向量。不过,您可以创建自己的向量来对矩阵进行子集化,例如 {1,3}
或 {2,2}
或 {3,1}
或其他。最后一个示例将 return 子集矩阵中的第 3 列放在第一位,第一列放在第二位。下面的示例:
MATRIX.
COMPUTE X = {1, 2, 2;
0, -1, 1;
1, 1, -2}.
COMPUTE XSub = X(:,{3,1}).
PRINT XSub.
END MATRIX.
打印出
Run MATRIX procedure:
XSUB
2 1
1 0
-2 1
------ END MATRIX -----