楼主: lovelybetty1208
6208 9

[问答] 在sas中如何删除 含有异常变量值的观测值 ? [推广有奖]

  • 0关注
  • 1粉丝

已卖:1份资源

博士生

47%

还不是VIP/贵宾

-

威望
0
论坛币
97 个
通用积分
0
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
17470 点
帖子
293
精华
0
在线时间
147 小时
注册时间
2011-11-5
最后登录
2015-7-11

楼主
lovelybetty1208 发表于 2013-4-7 18:45:08 |AI写论文
3论坛币
现在有一个变量,字符型,显示为11位的数字,例如:12345678911,但是现在有些观测值的这个变量显示为 2位数,或者是4位数,现在要把异常的观测值都剔除,只留下正常的。
请问该怎么操作?

谢谢大家。

最佳答案

zhengbo8 查看完整内容

a为你的数据集名,var_name为你的那个字符型变量的变量名。
关键词:变量值 观测值 怎么操作 字符型 异常 如何
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

沙发
zhengbo8 发表于 2013-4-7 18:45:09
  1. data new_a;
  2.         set a(keep=var_name);
  3.         x=length(var_name);
  4.         if x=11;
  5.         drop x;
  6. run;
复制代码
a为你的数据集名,var_name为你的那个字符型变量的变量名。



已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Imasasor + 60 + 40 + 2 + 2 + 1 分析的有道理

总评分: 经验 + 60  论坛币 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

藤椅
lovelybetty1208 发表于 2013-4-7 19:26:53
zhengbo8 发表于 2013-4-7 18:56
a为你的数据集名,var_name为你的那个字符型变量的变量名。
谢谢你的回复。
但是在录入时,我已经设定了这个字段的长度。所以即使是异常的,他的格式中长度也是一样的。因此,恐怕这种方法不行。
但是正常数据是以7开头的, 非正常的数据没有以7开头的,所以,应该可以用这个方法判断吧。
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

板凳
lovelybetty1208 发表于 2013-4-7 19:27:32
另外是否有sas函数是可以根据实际显示出来的位数来判断?
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

报纸
zhengbo8 发表于 2013-4-7 19:31:00
lovelybetty1208 发表于 2013-4-7 19:26
谢谢你的回复。
但是在录入时,我已经设定了这个字段的长度。所以即使是异常的,他的格式中长度也是一样 ...
所以即使是异常的,他的格式中长度也是一样

对于这个,你可以用strip()删除两侧的空格。

地板
zhengbo8 发表于 2013-4-7 19:32:17
lovelybetty1208 发表于 2013-4-7 19:27
另外是否有sas函数是可以根据实际显示出来的位数来判断?
几个字符长度函数的差别:
  1. LENGTH(string):返回字符长度,只有尾部空格不计数,空字符串与连续空格视为1
  2. LENGTHN(string):返回字符长度,只有尾部空格不计数,空字符串与连续空格视为0
  3. LENGTHC(string):返回字符长度,对字符长前后的空格计数,对连续空格计数,空字符串是为1
  4. LENGTHM(string):返回存储的字节长度,对字符串前后的空格计数,对连续空格计数,空字符串视为1
复制代码
http://zhengbo8.blog.163.com/blog/static/21940782013012115427806/

7
zhengbo8 发表于 2013-4-7 19:34:20
lovelybetty1208 发表于 2013-4-7 19:27
另外是否有sas函数是可以根据实际显示出来的位数来判断?
length()就是实际长度,lengthm()就是length语句定义的存储长度。

8
lovelybetty1208 发表于 2013-4-7 20:12:04
zhengbo8 发表于 2013-4-7 19:32
几个字符长度函数的差别:http://zhengbo8.blog.163.com/blog/static/21940782013012115427806/
博文很好,学习了
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

9
lovelybetty1208 发表于 2013-4-7 20:14:07
zhengbo8 发表于 2013-4-7 18:45
a为你的数据集名,var_name为你的那个字符型变量的变量名。
我的代码是

data a;
set a;
varname_new=strip(varname);
x=length(varname_new);
if x=11;
run;
可以得出我要的结果了。
谢谢你的启发。
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

10
lovelybetty1208 发表于 2013-4-7 20:14:14
zhengbo8 发表于 2013-4-7 18:45
a为你的数据集名,var_name为你的那个字符型变量的变量名。
我的代码是

data a;
set a;
varname_new=strip(varname);
x=length(varname_new);
if x=11;
run;
可以得出我要的结果了。
谢谢你的启发。
耶和华是我的牧者,我必不致缺乏。
他使我躺卧在青草地上,
领我在可安歇的水边。

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

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