楼主: 梨棠皮皮
2901 7

SAS中如何得到矩阵中重复值的个数? [推广有奖]

  • 0关注
  • 0粉丝

本科生

14%

还不是VIP/贵宾

-

威望
0
论坛币
19 个
通用积分
0.0015
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
263 点
帖子
38
精华
0
在线时间
110 小时
注册时间
2006-5-18
最后登录
2024-4-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如由{2, 2, 2, 2, 5, 5, 1, 1, 1},得到{4, 2, 3},即4个2,2个5,3个1。

本人还是新手,不甚熟练。

谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:重复值 矩阵 SAS

回帖推荐

david0 发表于4楼  查看完整内容

proc iml; m={2, 2, 2, 2, 5, 5, 1, 1, 1}; u=t(unique(m)); ...

本帖被以下文库推荐

沙发
nankailiqi 发表于 2009-10-13 05:29:20 |只看作者 |坛友微信交流群
这个好像是mathematica里自带的一个功能,但是SAS里要算起来就不容易了,你可以用proc mean 这个过程来输出结果,会告诉你一共有几个值,没个值重复几次。但是结果不会表示成矩阵,只会显示在result目录里。要先把整个矩阵看成1个变量的多个观测来作。

使用道具

藤椅
zengpingsanxing 发表于 2009-10-13 08:47:18 |只看作者 |坛友微信交流群
data a;
infile datalines dsd;   由于数据中的“,” 存在,所以采用这种读取数据的方式
input x@@;
cards;
2, 2, 2, 2, 5, 5, 1, 1, 1
;
proc freq noprint;   利用 proc freq 得到频数分布表 并保存在“freq”这个数据中
tables x/out=freq(keep= x COUNT);

proc iml;
use freq;
read all var{x count} into freq;   将 freq这个数据读进 iml环境下的向量,命名为freq
print freq[colname={x freq}];
quit;

你看看上面的程序是否时所要,有些罗嗦。 利用了data步所产生的数据在IML环境下的相互转换。
你所给的是个向量,如果是矩阵的话先转化为向量也就行了。

使用道具

板凳
david0 发表于 2009-10-13 09:11:05 |只看作者 |坛友微信交流群
proc iml;                                                                                                                              
m={2, 2, 2, 2, 5, 5, 1, 1, 1};                                                                                                         
u=t(unique(m));                                                                                                                        
n=j(nrow(u),1,0);                                                                                                                       
do i=1 to nrow(u);                                                                                                                     
  n[i]=sum(m=u[i]);                                                                                                                     
end;                                                                                                                                    
print m u n;                                                                                                                           
quit;
已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
梨棠皮皮 + 1 + 1 精彩帖子
爱萌 + 40 + 100 非常好

总评分: 经验 + 40  论坛币 + 100  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

报纸
david0 发表于 2009-10-13 09:13:02 |只看作者 |坛友微信交流群
结果:
M         U         N
2         1         3
2         2         4
2         5         2
2
5
5
1
1
1

使用道具

地板
爱萌 发表于 2009-10-13 10:26:57 |只看作者 |坛友微信交流群
proc iml;                                                                                                                              
m={2
2, 2 2, 5 5, 1 1, 1 5};                                                                                                         
u=t(unique(m));                                                                                                                        
n=j(nrow(u),1,0);                                                                                                                       
do i=1 to nrow(u);                                                                                                                     
  n[i]=sum(m=u[i]);                                                                                                                     
end;                                                                                                                                    
print u n;                                                                                                                           
quit;

非常好
最恨对我说谎或欺骗我的人

使用道具

7
david0 发表于 2009-10-13 11:00:41 |只看作者 |坛友微信交流群
感谢版主多方位验证及评分。

使用道具

8
梨棠皮皮 发表于 2010-1-13 23:17:16 |只看作者 |坛友微信交流群
谢谢david0 !

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-15 00:48