楼主: lemonxinran
15494 12

sas中统计字符型变量缺失值的程序是什么 [推广有奖]

  • 0关注
  • 1粉丝

讲师

28%

还不是VIP/贵宾

-

威望
0
论坛币
1159 个
通用积分
6.3000
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
10334 点
帖子
188
精华
0
在线时间
599 小时
注册时间
2010-10-25
最后登录
2024-3-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

我使用:procmeans data=merger.tran_infon nmiss;

varif_success unit_price;

run;quit;可以统计到数据集中数值型变量的缺失值个数,

但sas中统计字符型变量缺失值的程序是什么呢?谢谢解答。


二维码

扫码加我 拉你入群

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

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

关键词:字符型变量 字符型 缺失值 Success Merger 程序 统计

回帖推荐

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

应该是没有的。proc means 是用来算数值型变量的统计值的。字符型的不能做。 不过你可以。 1. 用SQL data demo; x="wewf";y="";output; x="";y="";output; run; proc sql; select sum(x="") as nmiss_x,sum(y="") as nmiss_y from demo; quit; 2.用proc freq +missing option proc freq data=demo; table x y /missing ; run;

本帖被以下文库推荐

沙发
webgu 发表于 2013-1-1 19:59:54 |只看作者 |坛友微信交流群
应该是没有的。proc means 是用来算数值型变量的统计值的。字符型的不能做。

不过你可以。
1. 用SQL
data demo;
   x="wewf";y="";output;
   x="";y="";output;
   run;

proc sql;
   select sum(x="")   as nmiss_x,sum(y="") as nmiss_y
   from demo;
quit;

2.用proc freq +missing option
proc freq data=demo;
    table x  y /missing ;
run;
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

藤椅
新人2012 发表于 2013-1-1 20:30:50 |只看作者 |坛友微信交流群
使用
array X[*]  _character_, 结合宏变量的使用,效果可能更好。
参阅 姚(2010)中的例子。

使用道具

板凳
lemonxinran 发表于 2013-1-1 22:17:17 |只看作者 |坛友微信交流群
webgu 发表于 2013-1-1 19:59
应该是没有的。proc means 是用来算数值型变量的统计值的。字符型的不能做。

不过你可以。
谢谢啦!sas中貌似还有一个cmiss函数,好像也不行。

使用道具

报纸
lemonxinran 发表于 2013-1-1 22:17:59 |只看作者 |坛友微信交流群
新人2012 发表于 2013-1-1 20:30
使用
array X
  •   _character_, 结合宏变量的使用,效果可能更好。
    参阅 姚(2010)中的例子。
  • 姚(2010)能再具体点吗?谢谢啦!

    使用道具

    地板
    webgu 发表于 2013-1-1 22:28:36 |只看作者 |坛友微信交流群
    lemonxinran 发表于 2013-1-1 22:17
    谢谢啦!sas中貌似还有一个cmiss函数,好像也不行。
    那个是横向统计的。你不是要纵向么?
    SAS资源
    1. SAS 微信:StatsThinking
    2. SAS QQ群:348941365

    使用道具

    7
    ☆Justforyou 发表于 2014-4-3 13:33:14 |只看作者 |坛友微信交流群
    *用nmiss可以统计数字型变量的缺失值个数,代码如下;
    data a;
    input V1-V5@@;
    datalines;
    1 3 4 2 6 3 . . . . 1 2 . 2 4
    ;
    run;

    data countmiss;
    set a;
    miss_c=nmiss(of V1-V5);
    run;

    /*----------割割更健康-------------*/
    *而cmiss则既可以统计数值型变量缺失值的个数,也可以统计字符型变量的缺失值个数,代码如下;
    data aa;
    input V1 1 V2 3  V3 5 V4 7 V5 $ 9;
    datalines;
    1 . 4 2 A
    3 3 4   5
    1 2 . 2  
    ;
    run;
    data bb;
    set aa;
    miss_c=cmiss(of V1-V5);/*计算每行缺失值的个数*/
    run;

    /*------------再割一下-------------------*/
    *如果每行观测值中的缺失值都只是字符型变量,那么用cmiss()函数即可;

    使用道具

    8
    Mr_Orchid 发表于 2014-7-17 11:38:51 |只看作者 |坛友微信交流群
    突然发现我还是小学生= =.

    使用道具

    9
    zorro999 发表于 2015-3-19 11:05:33 |只看作者 |坛友微信交流群
    ☆Justforyou 发表于 2014-4-3 13:33
    *用nmiss可以统计数字型变量的缺失值个数,代码如下;
    data a;
    input V1-V5@@;
    用函数很方面

    使用道具

    10
    bitcoin 发表于 2015-3-20 09:15:31 来自手机 |只看作者 |坛友微信交流群
    lemonxinran 发表于 2013-1-1 15:43
    我使用:procmeans data=merger.tran_infon nmiss;varif_success unit_price;run;quit;可以统计到数据集中数 ...
    用数组可以实现

    使用道具

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

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

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

    GMT+8, 2024-4-24 08:57