楼主: 0932111
1464 4

程序有误~ [推广有奖]

  • 2关注
  • 0粉丝

高中生

37%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
128 点
帖子
12
精华
0
在线时间
30 小时
注册时间
2012-2-7
最后登录
2017-12-7

楼主
0932111 发表于 2012-3-28 22:06:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
为什么beta输出来的不是数组呢??提示错误 (execution) Matrix has not been set to a value.


proc iml ;
A={0.483 13.2682 0 4.3646 5.1070,
0.4035 13.4909 39.0131 3.6151 5.5005,
0.8979 25.7776 9.0513 4.8920 7.5342,
0.5927 16.0245 13.2935 4.4529 6.5913
};
r=nrow(A);
c=ncol(A);
B=A;
do i=1 to c;
do p=1 to r;
if i=3
then B[p,i]=(A[<>,i]-A[p,i])/(A[<>,i]-A[><,i]);
else
  B[p,i]=(A[p,i]-A[><,i])/(A[<>,i]-A[><,i]);
  end;
end;

do i=1 to c;
deta[i]=std(B[1,i],B[2,i],B[3,i],B[4,i]);

end;
print deta;


quit;

二维码

扫码加我 拉你入群

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

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

关键词:EXECUTION matrix value alue Then 程序

沙发
0932111 发表于 2012-3-29 14:12:07
我想做的就是对B数组的每一列求标准差,然后每一列的标准差再除以各列标准差的和,该如何写的,我刚开始学习sas,很多不是很会...

藤椅
yunqingwang 在职认证  发表于 2012-3-29 15:56:11
你得先定义deta在进行一对一的赋值
在do i=1 to c;前加
deta=j(1,c,.);

板凳
0932111 发表于 2012-3-30 10:02:13
yunqingwang 发表于 2012-3-29 15:56
你得先定义deta在进行一对一的赋值
在do i=1 to c;前加
deta=j(1,c,.);
谢谢,按照你说的运行把这个问题解决了我还有问题是,标准化那步,std()里面要放每一列的值,如何不都列出来呢,如果列数比较多,这样不是太麻烦了吗?

报纸
yunqingwang 在职认证  发表于 2012-3-30 12:25:19
自己思考去,iml在矩阵运算很方便

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 02:57