首先遍历列,然后遍历行

问题描述

我想先遍历列,然后遍历行。

    data test ;
    input cat $ cat3 cat4 cat5 cat6 cat7 cat8 num_rat ;
    cards;
          cat3 0 -1.78 -2.68 -3.06 -3.4 -3.83 1885
          cat4 0 2.12 -2.15 -2.63 -2.94 -3.34 3151
          cat5 0 2.45 1.16 -1.39 -1.99 -2.54 246
          cat6 0 2.48 1.92 1.19 -1.13 -2.39 80
          cat7 0 2.68 2.32 1.82 1.52 -1.56 89
    ;
    run;


DATA TEST1;
SET test;
Array Cat_C(6) cat3-cat8;
Array Cat_g(5) catg3-catg7;
do i= 1to 5;
cat_g(i)= num_rat * ((((CDF('Normal',Cat_C(i+1))-CDF('NORMAL',Cat_C(i))-
((CDF('NORMAL',((Cat_C(i+1) - (sqrt(&rho)*&z))/sqrt(1-&rho))))-(CDF 
('NORMAL',((Cat_C(i) - (sqrt(&rho)*&z))/sqrt(1-&rho))))))**2))/
(((CDF('NORMAL',((Cat_C(i) - (sqrt(&rho)*&z))/sqrt(1-&rho)))))*(1- /**/((CDF('NORMAL',((Cat_C(i) - (sqrt(&rho)*&z))/sqrt(1-&rho))))))));
    end;
    run;

我需要通过第一个减法(0 + -1.78)* 1885 +(-1.78 + -2.68)* 1885 +(-2.68 + -3.06)* 1885 +(-3.06 + -3.4)对cat3(行)求和)* 1885 +(-3.4 + -3.83)* 1885

然后为所有行(cat4,cat5,cat6,cat7)计算,然后将所有行加在一起,并像(min(sum_rows))那样将它们最小化。

在本文中可以找到最小化方程: https://www.frontiersin.org/articles/10.3389/fpsyg.2013.00328/full

其中x(g + 1)是从cat3到cat4的运动。并且rho必须为任何固定数字(例如0.8),并且z必须使用任何初始数字(例如0.89)最小化。

解决方法

根据数据,您可以尝试使用2D阵列。

{...}

其他选择是在'...': '...'中进行行计算,并在data test ; input cat $ cat3 cat4 cat5 cat6 cat7 cat8 num_rat ; cards; cat3 0 -1.78 -2.68 -3.06 -3.4 -3.83 1885 cat4 0 2.12 -2.15 -2.63 -2.94 -3.34 3151 cat5 0 2.45 1.16 -1.39 -1.99 -2.54 246 cat6 0 2.48 1.92 1.19 -1.13 -2.39 80 cat7 0 2.68 2.32 1.82 1.52 -1.56 89 ; data _null_; array X (3:7,3:9); * column index 9 is num_rat; * load 2D array; do row = 3 to 7; set test; array cols cat3-cat8 num_rat; do col = 3 to 9; X(row,col) = cols(col-2); end; end; do index1 = 3 to 7; do index2 = 3 to 9; putlog @(8*(index2-3)+1) X(index1,index2) @; end; putlog; end; run; 中进行列计算

您还可以查看DATA StepProc MEANSProc IMLSAS/OR函数,或者Proc FCMP及其矩阵函数。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...