楼主: the_fly_winds
3771 3

[问答] SAS如何处理空格 [推广有奖]

  • 0关注
  • 1粉丝

已卖:168份资源

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
1139 个
通用积分
4.9700
学术水平
16 点
热心指数
24 点
信用等级
14 点
经验
2333 点
帖子
106
精华
0
在线时间
264 小时
注册时间
2014-9-28
最后登录
2025-6-4

楼主
the_fly_winds 发表于 2018-6-4 00:27:59 |AI写论文
30论坛币
合并a b两个数据集后,出现了空格
  1. data a;
  2. input c $ date yymmdd10. type $;
  3. datalines;
  4. 1 2017-10-5 a
  5. 2 2014-10-5 b
  6. 1 2017-10-6 v
  7. 1 2017-10-4 d
  8. run;


  9. data b;
  10. input c $ date yymmdd10. price;
  11. datalines;
  12. 1 2017-10-5 25
  13. 2 2014-10-6 36
  14. 1 2017-10-6 20
  15. run;

  16. proc sort data=a;by c date;run;
  17. proc sort data=b;by c date;run;
  18. data c;
  19. merge a b;
  20. by c date;
  21. run;
复制代码
捕获.PNG

出现了空格.两个问题1, 为什么会出现空格而不是一个点表示的缺失值, 就像price一列一样?
2, 如何将这个空格变成缺失值(即用一个点表示,如price列)










最佳答案

abcd033 查看完整内容

字串的缺失值是空格 数值的缺失值是. 如果要将空格(字串的缺失值)变成数值的缺失值,用IF Function就可以了
关键词:两个问题 一个点 缺失值 数据集

回帖推荐

abcd033 发表于2楼  查看完整内容

字串的缺失值是空格 数值的缺失值是. 如果要将空格(字串的缺失值)变成数值的缺失值,用IF Function就可以了

沙发
abcd033 发表于 2018-6-4 00:28:00
  1. data a;
  2. input c $ date yymmdd10. type $;
  3. datalines;
  4. 1 2017-10-5 a
  5. 2 2014-10-5 b
  6. 1 2017-10-6 v
  7. 1 2017-10-4 d
  8. run;


  9. data b;
  10. input c $ date yymmdd10. price;
  11. datalines;
  12. 1 2017-10-5 25
  13. 2 2014-10-6 36
  14. 1 2017-10-6 20
  15. run;

  16. proc sort data=a;
  17. by c date;
  18. run;
  19. proc sort data=b;
  20. by c date;
  21. run;
  22. data c;
  23. merge a b;
  24. by c date;
  25. If type="" then type=".";
  26. run;
复制代码
字串的缺失值是空格 数值的缺失值是.
如果要将空格(字串的缺失值)变成数值的缺失值,用IF Function就可以了
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
admin_kefu + 30 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 2  热心指数 + 2   查看全部评分

藤椅
mlz_1987 发表于 2018-6-4 19:21:21
type是字符型,空值就是缺失表示;数值型变量的缺失用.表示的,一定要让字符型空值变量显示"." ;就按楼上的解决方式
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

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

板凳
Tigflanker 发表于 2018-6-10 15:54:30
快用:coalesce

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

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