楼主: calsunny
2005 8

请教一个简单的SAS程序! [推广有奖]

  • 2关注
  • 5粉丝

讲师

84%

还不是VIP/贵宾

-

威望
0
论坛币
3460 个
通用积分
7.0000
学术水平
2 点
热心指数
5 点
信用等级
1 点
经验
1656 点
帖子
469
精华
0
在线时间
732 小时
注册时间
2007-4-3
最后登录
2019-12-3

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教如果我有数据是这样的:
ID Status
1   0
1   1
2   0
2   0
3   1
3   1
4   0
4   1
4   1
5   0
6   1
7   1
7   1

我想知道如何快速output 哪些ID的status从0 变成了1, 哪些是0 一直没有变化,哪些是1一直没有变化,应该没有从1 变成0 这种形式.

因为数据有几万行,虽然我用笨办法,比如首先 Proc freq; table ID;找出那些有multiple IDs;然后和原来的数据Merge,再做一个Proc freq;table ID*status,基本可以得到我想要的结果,但是好像不能output SAS data.问问大家有没有其他更好的办法.谢谢!



二维码

扫码加我 拉你入群

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

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

关键词:sas程序 Multiple 数据merge status output multiple status 程序 如何

沙发
chengyuchenwen 发表于 2015-9-19 00:01:24 来自手机 |只看作者 |坛友微信交流群
calsunny 发表于 2015-9-18 23:40
请教如果我有数据是这样的:
ID Status
1   0
可不可以取同一id的最大值和最小值,应该出现分别是1和0,全是1或全是0三种情况

使用道具

藤椅
FlyUFalcon 在职认证  发表于 2015-9-19 00:14:41 |只看作者 |坛友微信交流群
简单!

proc transpose data=input out= output;
by id;
var status;
run;

data final;
set output;
if COL2-COL1 > 0 then condition = '+1';
if COL2-COL1 < 0 then condition = '-1';
if COL2-COL1 = 0 then condition = 'unchanged';

run;
已有 1 人评分论坛币 收起 理由
admin_kefu + 15 热心帮助其他会员

总评分: 论坛币 + 15   查看全部评分

使用道具

板凳
calsunny 发表于 2015-9-19 04:53:31 |只看作者 |坛友微信交流群
谢谢楼上,可能我没有写清楚,ID有1,2,3,4,.... 10甚至更多row不等,所以这个方法不一定行得通.

使用道具

报纸
FlyUFalcon 在职认证  发表于 2015-9-19 16:45:15 |只看作者 |坛友微信交流群
calsunny 发表于 2015-9-19 04:53
谢谢楼上,可能我没有写清楚,ID有1,2,3,4,.... 10甚至更多row不等,所以这个方法不一定行得通.
我知道啊, id 是在第一个 column 里面显示的, row多一些没关系啊。

我的数据都是几千万行的高频数据,就是用这个code。

使用道具

地板
18916059936 发表于 2015-9-19 17:58:35 |只看作者 |坛友微信交流群
使用pro means,看比率

使用道具

7
calsunny 发表于 2015-9-19 23:43:10 |只看作者 |坛友微信交流群
FlyUFalcon 发表于 2015-9-19 16:45
我知道啊, id 是在第一个 column 里面显示的, row多一些没关系啊。

我的数据都是几千万行的高频数据 ...
是每一个ID的行数是不等的,比如看这里的ID=4 , 有的同一个ID 有20多行

使用道具

8
jinbong1986 发表于 2015-9-20 00:21:12 |只看作者 |坛友微信交流群
可以使用下面的代码实现,楼主用的时候再优化一下。

DATA data_1;
SET data_0;
RUN;

PROC SORT DATA=data_1 NODUPKEY;
BY ID STATUS;
RUN;

代码太长了,请看附件!

脚本.txt

658 Bytes

需要: 20 个论坛币  [购买]

脚本

脚本.txt

623 Bytes

需要: 10 个论坛币  [购买]

脚本

已有 1 人评分论坛币 收起 理由
admin_kefu + 15 热心帮助其他会员

总评分: 论坛币 + 15   查看全部评分

使用道具

9
teqel 发表于 2015-9-20 04:25:35 来自手机 |只看作者 |坛友微信交流群
Try SQL

使用道具

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

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

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

GMT+8, 2024-4-27 01:20