楼主: jiny.zheng
6873 23

[原创博文] SAS怎么对一定条件计数 [推广有奖]

  • 1关注
  • 0粉丝

大专生

61%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
396 点
帖子
35
精华
0
在线时间
48 小时
注册时间
2012-4-21
最后登录
2014-3-9

楼主
jiny.zheng 发表于 2012-5-3 16:06:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
又是一个很奇怪的算法。
求前辈指教!不胜感激。
选取dataset的一部分
ID1        ID2        ID3        ID4
1017        1027        1021        1010
2109        2013        1001        1002     
1013        1021        1051        1799
1280        1278        1369        1928
7832        2178        1279        1276
1928        1932        1652        3827
1979        9731        9179        7382        
2981        9128        9217        3917
1292        9132        7382        8328
9170        9312        7398        9371        
9372        7483        8327        4928
8362        9837        7436        8327
3091        3028        3108        3208

1017        1027        1021        1010
1928        1932        1652        3827
1979        9731        9179        7382
对于每一行的ID,我想求出包括这四个ID 中的一个及以上的行的行数。并作为一个新变量放在右边。  
不知道有没有前辈能够给与我一些指教!谢谢。
二维码

扫码加我 拉你入群

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

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

关键词:dataset DataS 不胜感激 Data 不知道 不胜感激

回帖推荐

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

data wu; input ID1 $ ID2 $ ID3 $ ID4 $; datalines; 1017 1027 1021 1010 2109 2013 1001 1002 1013 1021 1051 1799 1280 1278 1369 1928 7832 2178 1279 1276 1928 1932 1652 3827 1979 9731 9179 7382 2981 9128 9217 3917 1292 ...

本帖被以下文库推荐

沙发
ww86 发表于 2012-5-3 16:27:52
核物理很深奥

藤椅
chendonghui1987 发表于 2012-5-3 16:35:01
看不懂你的问题

板凳
wodematlab 发表于 2012-5-3 22:16:04
data wu;
input  ID1 $ ID2 $ ID3 $ ID4 $;
datalines;
1017        1027        1021        1010
2109        2013        1001        1002
1013        1021        1051        1799
1280        1278        1369        1928
7832        2178        1279        1276
1928        1932        1652        3827
1979        9731        9179        7382
2981        9128        9217        3917
1292        9132        7382        8328
9170        9312        7398        9371
9372        7483        8327        4928
8362        9837        7436        8327
3091        3028        3108        3208
1017        1027        1021        1010
1928        1932        1652        3827
1979        9731        9179        7382
;
run;
proc sql;
    select *,count(*) as count
        from wu
        group by ID1,ID2,ID3,ID4
;
quit;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

报纸
wodematlab 发表于 2012-5-3 22:16:44
不知道这个结果是不是你想要的
ID1 ID2 ID3 ID4 count
1013 1021 1051 1799 1
1017 1027 1021 1010 2
1280 1278 1369 1928 1
1292 9132 7382 8328 1
1928 1932 1652 3827 2
1979 9731 9179 7382 2
2109 2013 1001 1002 1
2981 9128 9217 3917 1
3091 3028 3108 3208 1
7832 2178 1279 1276 1
8362 9837 7436 8327 1
9170 9312 7398 9371 1
9372 7483 8327 4928 1

地板
jiny.zheng 发表于 2012-5-4 13:42:32
wodematlab 发表于 2012-5-3 22:16
不知道这个结果是不是你想要的
ID1 ID2 ID3 ID4 count
1013 1021 1051 1799 1
学长您好,我的数据库有70万条额,所以我只是摘取了一小部分。我觉得难点在于即使第N条中只有一个ID是和第一行中四个ID重合,我也要给count加一。有没有一个程序能帮我算出来啊!!大谢~

7
jiny.zheng 发表于 2012-5-4 13:47:54
wodematlab 发表于 2012-5-3 22:16
不知道这个结果是不是你想要的
ID1 ID2 ID3 ID4 count
1013 1021 1051 1799 1
也就是说您的结果中的第一行的count应该是2才对,因为ID1021在第二行也出现过

8
jiny.zheng 发表于 2012-5-4 13:53:02
chendonghui1987 发表于 2012-5-3 16:35
看不懂你的问题
就是一个计数,对于每一行,我要计算一个count,这个count是计算出现该行中四个ID中的任意一个或者的行的个数~~

9
chendonghui1987 发表于 2012-5-4 14:20:31
我是不是可以理解为结果如下:

ID1 ID2 ID3 ID4 count
1013 1021 1051 1799 6
1017 1027 1021 1013 6

1013出现了2次, 1021出现了2次, 1051出现了一次,1799出现了一次,1017出现了一次,1027出现了一次

10
chendonghui1987 发表于 2012-5-4 14:21:10
最后生成的结果集就是这个.
ID1 ID2 ID3 ID4 count
1013 1021 1051 1799 6
1017 1027 1021 1013 6

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-22 07:13