楼主: haierwing
3380 6

[问答] 请问一下如何输出数据集中有相同变量值的观测 [推广有奖]

  • 3关注
  • 0粉丝

讲师

86%

还不是VIP/贵宾

-

威望
0
论坛币
177 个
通用积分
22.4714
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
28605 点
帖子
266
精华
0
在线时间
461 小时
注册时间
2016-3-16
最后登录
2023-3-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例如 输出sashelp.class 中体重相同的观测   
二维码

扫码加我 拉你入群

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

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

关键词:变量值 数据集 SASHELP Shel Help 如何

  1. proc sql noprint;
  2.         create table want as
  3.         select * from sashelp.class group by weight having count(weight)>1;
  4. quit;
复制代码


或者

  1. proc sort data=sashelp.class out=have;by weight;run;

  2. data want;
  3.         set have;
  4.         by weight;
  5.         if first.weight+last.weight=1;
  6. run;
复制代码


使用道具

藤椅
fsg1117 发表于 2016-4-5 09:17:13 |只看作者 |坛友微信交流群
只输出关键变量相同的观测,程序如下:
data aaa;
input y $ a b c@@;
cards;
a 1 2 3
b 4 5 6
c 1 3 4
a 2 5 7
a 3 1 5
b 4 6 9
a 2 6 8
;
proc sort data=aaa  nouniquekey out=rst;
by y;
run;
proc print data=rst;
run;

使用道具

板凳
haierwing 发表于 2016-4-5 11:06:03 |只看作者 |坛友微信交流群
fsg1117 发表于 2016-4-5 09:17
只输出关键变量相同的观测,程序如下:
data aaa;
input y $ a b c@@;
谢谢了 受教了

使用道具

报纸
haierwing 发表于 2016-4-5 11:07:01 |只看作者 |坛友微信交流群
孤单的我们 发表于 2016-4-5 09:06
或者
恩 谢谢 不过if first.weight+last.weight=1 是什么意思

使用道具

haierwing 发表于 2016-4-5 11:07
恩 谢谢 不过if first.weight+last.weight=1 是什么意思
first.variable是一个临时变量,by组的第一个观测时为1,反之为0
last.variable也是临时变量,by组的最后一个观测时为1,反之为0
first.weight+last.weight=1写的不严谨,应该用first.weight+last.weight<=1
等价于first.weight+last.weight^=2
排除“如果某weight组只有一个观测时,first.weight同时也是last.weight” 这种情况

使用道具

7
haierwing 发表于 2016-4-5 17:48:17 来自手机 |只看作者 |坛友微信交流群
孤单的我们 发表于 2016-4-5 12:43
first.variable是一个临时变量,by组的第一个观测时为1,反之为0
last.variable也是临时变量,by组的最后 ...
嗯嗯,谢谢

使用道具

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

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

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

GMT+8, 2024-4-27 07:21