楼主: miffy126
834 5

[问答] 如何生成一个变量等于重复观测值的个数? [推广有奖]

  • 1关注
  • 0粉丝

等待验证会员

高中生

50%

还不是VIP/贵宾

-

威望
0
论坛币
20 个
通用积分
0.0002
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
194 点
帖子
17
精华
0
在线时间
21 小时
注册时间
2018-6-22
最后登录
2024-5-7

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在的数据如下

ID   date
001  3/03/2003
001   4/12/2001
002    5/12/2001

想要生成一个变量count 如下

ID   date          count
001  3/03/2003    2
001   4/12/2001   2
002    5/12/2001  1



是总共重复的个数

我现在的code是


data want;
set have;
by id notsorted;
retain count;
if first.id then count=1;
else count+1;
run;

但是结果是这样的


ID   date          count
001  3/03/2003    1
001   4/12/2001   2
002    5/12/2001  1


怎么把第一个观测的count变成2 啊?

谢谢大神!
二维码

扫码加我 拉你入群

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

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

关键词:重复观测 观测值 sorted RETAIN Count SAS

沙发
whymath 发表于 2022-10-14 22:13:30 |只看作者 |坛友微信交流群

使用道具

藤椅
miffy126 发表于 2022-10-25 05:57:18 |只看作者 |坛友微信交流群
whymath 发表于 2022-10-14 22:13
这题我做过:https://bbs.pinggu.org/thread-6586478-1-1.html
谢谢 不过找到答案了

使用道具

板凳
jg.sas 发表于 2023-4-7 13:59:37 |只看作者 |坛友微信交流群
  1. data want;
  2.         input Group$ value $;
  3.         cards;
  4.         A 1
  5.         A 1
  6.         A 2
  7.         A 2
  8.         B 1
  9.         B 1
  10.         B 3
  11.         B 5
  12.         B 6
  13.         B 3
  14.         C 1
  15.         C 4
  16.         C 5
  17.         ;
  18. run;

  19. proc sql noprint;
  20.         create table count as
  21.         select *,count(Group) as count from want
  22.         group by Group;
  23. run;
复制代码

使用道具

报纸
elisetam 在职认证  发表于 2023-4-21 00:03:41 |只看作者 |坛友微信交流群
proc sql;
  create table want as select *, count(distinct group) as count
  from have
    group by group;
quit;

使用道具

地板
hugebear 发表于 2023-4-25 05:59:09 |只看作者 |坛友微信交流群
jg.sas 发表于 2023-4-7 13:59
你这个出来的结果应该不符合要求吧?每个group只会有一个重复度。

使用道具

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

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

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

GMT+8, 2024-11-5 20:30