楼主: yixuehanlin
4043 2

[问答] 请问如何去除SAS数据库中类似NA和未检这样的值,或将其换成空值 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

本科生

10%

还不是VIP/贵宾

-

威望
0
论坛币
66 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
226 点
帖子
18
精华
0
在线时间
122 小时
注册时间
2012-1-18
最后登录
2025-3-13

楼主
yixuehanlin 发表于 2014-11-26 13:52:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,手头上有一个数据库,是通过导入CSV文件组成的,在数据库里面有一些缺失值直接用NA表示了,还有一些是中文:未检,我想请问各位大大,有木有办法把NA和未检变成空白或者直接删去这个值(不是删去这一行),数据比较多,50000多行 600列,万分感谢!
还有一个问题是有一个2000多万行的数据库,第一列是ID代码 第二、三列是收费明细,有没有比较好的办法把相同ID的费用累加
例如:
ID fee prefee     变成       ID   FEE  PREFEE
1   5    3                          1    10       7
1   1    2                          2      7       6
1   4    2
2   3    2
2   2    1
2   2    3
再次感谢!
二维码

扫码加我 拉你入群

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

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

关键词:sas数据库 数据库 万分感谢 数据比较 fee 数据库 如何

沙发
ermutuxia 发表于 2015-1-15 21:02:23
对于第一个问题,把NA和未检变成空白或者直接删去这个值这种做法不符合统计软件编程的规范,建议不要变成空白,全部变成NA;
对于第二个问题,由于你是在数据处理阶段,使用sort步来完成。

具体可以参考:
proc sort;

by id  **;(**是指要用到first.和last.指令的变量)

run;

/*汇总数据*/

if first.** then total_a=0;(每组要输出的数据都会被初始化为0)

every_a +total_a;(累加每组数据中的每一项)

if last.** then output;

藤椅
sushe1527 发表于 2015-1-15 21:16:15
  1. data a;
  2. input x$ y$;
  3. cards;
  4. 1 1
  5. 2 1
  6. . 未检
  7. NA 2
  8. ;
  9. run;

  10. data b;
  11. set a;
  12. ARRAY c(*) _all_;
  13. DO i = 1 TO dim(c);
  14. IF c(I)="未检" OR c(I)="NA" THEN c(i) ="";
  15. END;drop i;
  16. RUN;
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 06:51