楼主: pingguzh
1292 7

[问答] 请教数据整理和删除的一个问题 [推广有奖]

  • 0关注
  • 4粉丝

菜鸟

副教授

48%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
20.1546
学术水平
1 点
热心指数
7 点
信用等级
3 点
经验
19966 点
帖子
873
精华
0
在线时间
433 小时
注册时间
2012-10-29
最后登录
2024-1-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教大家,我需要对一个数据做删除,然后导出到excel
我用的程序是:
  1. data z.e1;
  2. set z.e0;
  3. if 20<=年龄<=30;/*保留20-30岁的人*/
  4. if 性别=2 then delete;/*保留男性*/
  5. if a="#N/A" or a="" then delete;/*排除空值*/
  6. if b="" then delete;/*排除空值*/
  7. run;
复制代码
需要从raw data中找到符合条件的人
现在的问题是,得到的数据好像没有对年龄进行限制,还是以前所有年龄段的人都有
所以想请教一下我这里的程序有没有不对的地方,或者应该简化的地方,谢谢
二维码

扫码加我 拉你入群

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

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

关键词:数据整理 EXCEL xcel exce Data excel 程序

统计爱好
沙发
pingguzh 发表于 2014-10-13 16:11:11 |只看作者 |坛友微信交流群
单独使用if语句,比如if 20<=年龄<=30;,能否在原始数据中删除其他年龄的人?

使用道具

藤椅
xiuzhenning 发表于 2014-10-13 16:42:15 |只看作者 |坛友微信交流群
data z.e1;
set z.e0;
if 20<=年龄<=30;/*保留20-30岁的人*/
*从数据集z.e0中保留年龄在这个阶段的数据集到z.e1;
if 性别=2 then delete;/*保留男性*/
*从数据集z.e0中删除性别为男性的数据;
if a="#N/A" or a="" then delete;/*排除空值*/
*从数据集z.e0中删除满足以上条件的数据;
if b="" then delete;/*排除空值*/
*从数据集z.e0中删除满足以上条件的数据;
run;

*--------------------------------------;
这么解释应该比较合理吧,我也是个新手……哈哈哈

使用道具

板凳
pingguzh 发表于 2014-10-13 17:01:23 |只看作者 |坛友微信交流群
你好我不是需要对我的程序的解释,因为我的程序是错误的,没法达到我的预期结果

使用道具

报纸
xiuzhenning 发表于 2014-10-13 17:23:36 |只看作者 |坛友微信交流群
pingguzh 发表于 2014-10-13 17:01
你好我不是需要对我的程序的解释,因为我的程序是错误的,没法达到我的预期结果
不好意思,刚才的理解错了……
把你的第一个IF语句后面加上 then output;
试试

使用道具

地板
freerunning_sky 在职认证  发表于 2014-10-13 17:42:55 |只看作者 |坛友微信交流群
年龄不能作为SAS的变量吧。。。。
麻烦看一下日志,有没有报错。。

使用道具

7
pingguzh 发表于 2014-10-14 09:07:44 |只看作者 |坛友微信交流群
这个不是重要的,我在原程序用的是age,这里为了表示清楚意思用的是汉字

使用道具

8
lwien007 发表于 2014-10-15 15:05:06 |只看作者 |坛友微信交流群
你的程序没有问题,可以实现年龄的筛选,就是这个条件表达式,好像以前的sas版本不能这么写,要写成 用and连接的两个表达式,但是既然你生成数据集e1了,应该编译通过了。看看log有什么提示,程序本身是没有问题的。

使用道具

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

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

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

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