楼主: annyding345
5379 9

[问答] 如何删掉重复、空白的记录? [推广有奖]

  • 3关注
  • 0粉丝

已卖:2份资源

讲师

10%

还不是VIP/贵宾

-

威望
0
论坛币
6458 个
通用积分
4.0000
学术水平
0 点
热心指数
5 点
信用等级
0 点
经验
34069 点
帖子
277
精华
0
在线时间
433 小时
注册时间
2008-3-4
最后登录
2025-11-3

楼主
annyding345 发表于 2013-6-26 17:27:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
能否人为删掉某一行(已知序号)的记录?用什么命令?
   我这里有一个总表data41,共26517条记录。发现这个表中,少数记录在同样的时间,有2条记录(其中1条是空白的)。例如:变量名为stkcd中,当stkcd=200011时,时间ACCPER为2004-12-31时,有2条记录。第一条记录后面的几十个变量有信息,第二条记录后面的变量是空白的。我想把这种重复的空白记录删掉,该怎么做?

11.JPG

       究竟是用SAS程序来删掉,还是手动删掉(手动删掉,如何操作)?
二维码

扫码加我 拉你入群

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

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

关键词:stkcd sas程序 CCPER Data ACCP 记录 如何 程序 信息

沙发
annyding345 发表于 2013-6-26 17:29:20
菜鸟求助中

藤椅
visiting 发表于 2013-6-26 17:47:48
if var=' ' then delete;

板凳
annyding345 发表于 2013-6-26 19:27:26
我感觉这个需要人为判断的地方较多:
   发现同样stkcd(股票代码)的记录,上下两条记录的时间accper一样的话。则删掉那条后面变量为缺失值的记录。
   如果按照visiting的做法,我会删掉不符合上述条件的,所有有缺失值的记录!这不是我的想法啊

报纸
zhengbo8 发表于 2013-6-26 20:03:19
  1.     data result(drop=i);

  2.             set a;
  3.             array x _numeric_;
  4.             do i=1 to dim(x);
  5.                   if nmiss(of x:)=dim(x) then delete;
  6.             end;
  7.            
  8.     run;
复制代码
a是你的数据集。

地板
boe 发表于 2013-6-26 20:35:44
。。。。最好先把缺失的原因搞清楚,然后再进行删除。。。
Gorgeous girl , I love !

7
annyding345 发表于 2013-6-27 20:39:36
谢谢boe 和zhengbo8 ,缺失的原因是由于原始数据库造成的:可能是有的公司业务类型发生了变动,造成了2条重复记录,其中老公司类型的信息是缺失的,新公司类型的信息是存在的

8
yongyitian 发表于 2013-6-27 21:56:22
data new;
    set old;
    n = _n_;
run;
data new;
    set new;
    if n in(11085) then delete;  /* you can include more numbers in () */
run;

9
hc2508008 发表于 2016-5-14 12:06:07
自己弄错了

10
hc2508008 发表于 2016-5-14 12:25:30
zhengbo8 发表于 2013-6-26 20:03
a是你的数据集。
hello,按程序执行,系统提示如下,何解?
180      data result(drop=i);
181              set test;
182              array x _numeric_;
183              do i=1 to dim(x);
184                    if nmiss(of x:)=dim(x) then delete;
                          -----
                          71
ERROR 71-185: NMISS 函数调用没有足够的参数。

185              end;
186       run;

NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.RESULT 可能不完整。该步停止时,共有 0 个观测和 10 个变量。
WARNING: 数据集 WORK.RESULT 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.04 秒
      CPU 时间          0.04 秒


187
188
189      data result(drop=i);
190              set test;
191              array x _numeric_;
192              do i=1 to dim(x);
193                    if nmiss(of x)=dim(x) then delete;
194              end;
195       run;

ERROR: 数组下标越界,位置: 行 193 列 31。
weight=4111 black=0 married=1 boy=1 mom_age=-3 smoke=0 cigsper=0 m_wtgain=-16 visit=1 ed=0 _I_=. i=1 _ERROR_=1
_N_=1
NOTE: 由于出错,SAS 系统停止处理该步。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-31 17:07