SPSS:从矩阵中选择列或行的子集

时间:2016-01-22 08:31:59

标签: matrix spss

如何从SPSS中的矩阵中选择列或行的子集?

鉴于以下示例,我想计算一个包含前两列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中矩阵子集化操作的语法是什么?

2 个答案:

答案 0 :(得分:2)

您可以对矩阵进行子集化,因此它只是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.

对于评论中的附加问题,1:n基本上SPSS理解为1 2 3 .... n的行向量。您可以创建自己的矢量来对矩阵进行子集化,例如{1,3}{2,2}{3,1}或其他。最后一个示例将在子集矩阵中首先返回第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 -----

答案 1 :(得分:1)

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.