全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3891 3
2009-03-24

各位大侠:

       我想取出如下矩阵的下三角元素,就是对角线1以下的数据,我歪打正着的代码完成了任务,没有do循环式我明白input命令加@或@@写入数据的方式和结果,但是现在我不能理解中间的do循环命令是怎么运行出这个结果的,请各位指点。另外请赐教更好的办法。(以下数据存在外部文本文件中)

%macro c(number);
data e;
    infile "c:\0\exercise\co.txt" ;
    %do i=0 %to &number;
      input y&i@; /*如果改成两个@就出不来下三角了*/
   if y&i=1 then output;
 %end;
run;
%mend c;
%c(9);/*这时调用的数量如果小于数据的列数,比如上面输出的是10列数据,现在用小于等于10的数字都行,还是可以出来下三角矩阵,跟一个@有关*/

1 0.0534466777 0.1314492293 0.0509244969 0.0938998967 0.0045149487 0.0060782696 -0.038716537 0.0438832878 -0.048090978
0.0534466777 1 0.0375501908 0.088629979 0.056103275 0.0000918772 0.0750915225 0.140482325 -0.055662144 0.0123267467
0.1314492293 0.0375501908 1 0.2521603917 0.0152870163 -0.02421063 -0.021031116 -0.206481476 -0.001244938 0.0179999469
0.0509244969 0.088629979 0.2521603917 1 -0.071106839 -0.034661846 -0.014004027 -0.095376224 -0.026158074 0.01520412
0.0938998967 0.056103275 0.0152870163 -0.071106839 1 -0.025123804 0.0399335021 0.0742352998 -0.04659544 0.0426528091
0.0045149487 0.0000918772 -0.02421063 -0.034661846 -0.025123804 1 -0.273784637 -0.005511429 0.0039295092 -0.04783078
0.0060782696 0.0750915225 -0.021031116 -0.014004027 0.0399335021 -0.273784637 1 0.1717428277 -0.009636716 -0.049893159
-0.038716537 0.140482325 -0.206481476 -0.095376224 0.0742352998 -0.005511429 0.1717428277 1 -0.056612897 0.0711008745
0.0438832878 -0.055662144 -0.001244938 -0.026158074 -0.04659544 0.0039295092 -0.009636716 -0.056612897 1 -0.026407503
-0.048090978 0.0123267467 0.0179999469 0.01520412 0.0426528091 -0.04783078 -0.049893159 0.0711008745 -0.026407503 1

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-3-27 00:14:00
这个程序看起来挺简单的呀,一个@符号是位置符号,即固定在某一列的意思。但是两个@@符号是在写数据的时候换行输入的意思,意思是不一样的,所以,你换过来肯定会出问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-3-28 08:12:00

在前面加一句option mprint;

然后看LOG,你就明白是怎么一回事了。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-30 09:44:00
为啥我运行不出来啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群