全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1369 5
2012-09-19
我给一个变量赋值为某个数字,然后再给这个变量赋值为字符串,最终显示是缺失值;
但为什么我先赋值为字符型,然后再赋值为数字型,最终显示的是第二次赋给的数字呢?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-19 04:39:11
我的这个问题是在SAS编程的时候遇到的。
二维码

扫码加我 拉你入群

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

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

2012-9-19 05:57:59
首先变量的类型是在data步中变量最早出现时决定的。也就是说,如果先赋值给一个数字,那这个变量就是数值型,反之则为字符型。

其次,如果将字符串赋值给数值型变量,或是将数字赋值给字符型变量,则会有数据类型的自动转化。如果不能转过去(例如“abc”不能转化为数字)则会出现空值。

data test;
    *** X is a numeric variable;
    x=1;
        *--- This is okay;
        x="123";
        put x=;
    *--- This is not okay;
        x="haha";
        put x=;

        *** Y is a character variable;
        y="ABCDEFG";
        *--This is okay;
        y=222;
        put y=;

run;
       
二维码

扫码加我 拉你入群

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

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

2012-9-19 12:06:23
pobel 发表于 2012-9-19 05:57
首先变量的类型是在data步中变量最早出现时决定的。也就是说,如果先赋值给一个数字,那这个变量就是数值型 ...
楼上正解
二维码

扫码加我 拉你入群

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

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

2012-10-6 18:49:41
是否可以理解为,某些字符型的变量是无法自动转化为数值型变量
二维码

扫码加我 拉你入群

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

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

2012-10-8 10:44:20
good_speed 发表于 2012-10-6 18:49
是否可以理解为,某些字符型的变量是无法自动转化为数值型变量
那是,比如你在一个数值变量上输入一个'abc',sas是无法识别的。就会默认为缺失。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群