SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1035|回复: 1
打印 上一主题 下一主题

紧急 简单的SAS 编程求助

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-3-22 02:57:06 | 只看该作者

紧急 简单的SAS 编程求助

在PROC IML中已经得到n个k value,记在colume matrix中

现在需要code来统计k=1,2,3,4,....的个数,再/n 算出k=1,2,3.....的概率,写在matrix中

这是我写的,有问题,不知道怎么改

count=J(m,1,0);
do i = 1 to 10**7;
do j = 1 to m;
if k[j]=i then count[i]=count[i]+1;
end;
end;
print count;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-3-22 06:06:07 | 只看该作者

Re: 紧急 简单的SAS 编程求助

我对iml也不熟。我也不很理解你的所问。但我想,如果你的code逻辑成立,除非m =10^7。我猜你的问题可能是这样:

[code:8fz5jbdn]proc iml;
**create values;
k =shape(0, 10, 1); do i =1 to 10;k[i] =ceil(ranuni(1)*10);end; print k;
**choose the unique values;
u =unique(k); uCol =ncol(u);
**create a corresponding count matrix;
count =J(uCol, 1, 0);
**fill out the count matrix;
do i =1 to uCol;
        xx =u[i]; do j =1 to nrow(k); if k[j] =xx then count[i] =count[i] +1; end;
end;
f =t(u)||count; print k f;
quit;[/code:8fz5jbdn]
京剧
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-11 11:53 , Processed in 0.068173 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表