楼主: guangqing
7993 9

菜鸟求高手如何将字符型变量转成数值型 [推广有奖]

  • 0关注
  • 0粉丝

高中生

60%

还不是VIP/贵宾

-

威望
0
论坛币
54 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
259 点
帖子
20
精华
0
在线时间
28 小时
注册时间
2009-6-25
最后登录
2012-9-7

楼主
guangqing 发表于 2009-7-12 04:23:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在的数据拿spss 打开格式如下:
acnumber dateopen updata  
"SDASD012345678912345" "20070304" "20070301"
"SDASD012345678912346" "20070304" "20070301"
"SDASD012345678912346" "20070304" "20070401"
"SDASD012345678912348" "20070404" "20070401"
"SDASD012345678912348" "20070404" "20070501"
"SDASD012345678912340" "20070504" "20070501"
"SDASD012345678912342" "20070504" "20070501"
"SDASD012345678912343" "20070504" "20070501"
都是字符型变量, 我现在想把它们用sas转成数值型的 怎样才能去掉那些双引号? 拆分的方法我会 可是用input怎样转?

还有个小问题 由于数据很多 怎样能有条件的计算出样本中有多少个acnumber 比如 当dateopen=20070304 有多少个acnumber?  

十分感谢!!
二维码

扫码加我 拉你入群

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

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

关键词:字符型变量 字符型 数值型 求高手 Number 变量 高手 菜鸟 数值 字符

沙发
sushe1527 发表于 2009-7-12 05:59:25
未命名.gif

藤椅
linhaoran 发表于 2009-7-12 11:25:02
导入的代码,在INFILE中加上 DSD 选项即可去掉引号。

  1. data a;
  2. infile cards dsd dlm=' ' missover;
  3. informat acnumber $22. dateopen b8601da. updata  b8601da.;
  4. format dateopen yymmdd10. updata  yymmdd10.;
  5. input acnumber dateopen  updata  ;
  6. cards;
  7. "SDASD012345678912345" "20070304" "20070301"
  8. "SDASD012345678912346" "20070304" "20070301"
  9. "SDASD012345678912346" "20070304" "20070401"
  10. "SDASD012345678912348" "20070404" "20070401"
  11. "SDASD012345678912348" "20070404" "20070501"
  12. "SDASD012345678912340" "20070504" "20070501"
  13. "SDASD012345678912342" "20070504" "20070501"
  14. "SDASD012345678912343" "20070504" "20070501"
  15. ;
  16. run;
复制代码

板凳
guangqing 发表于 2009-7-12 18:51:39
先谢谢楼上2位朋友 方法我都试验了 因为我的数据很大 excel 和文本根本打不开 只能用spss打开 于是我储存到.por 形式, 那我该怎样做呢?
我不想用substr来, 因为我的数据太大 用那个方法速度太慢 希望能有个更好的办法~  
libname HGQ SPSS 'Z:\HGQ\performancedata.por';
libname hgq1 'Z:\HGQ';
data hgq1.reducedata;
set HGQ._first_  
谢谢了

报纸
mslick707 发表于 2009-7-13 10:34:52
generate time=monthly(data,"你的文件名",2008);
generate t=qofd(dofm(time));
format t % tq
tsset t

地板
wanxl1984 发表于 2009-7-13 21:49:29
hao!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

7
raymonica 发表于 2009-7-14 00:33:40
i am learning. good, thanks.

8
wzy1713 发表于 2009-7-14 10:32:28
lihai

9
zhenghangbin 发表于 2009-7-14 10:45:24
用input就是新建一个数值变量然后令新数值变量=(旧字符变量,旧变量的格式)

第二个问题的话用proc sql然后用count和group by不知道对不对

10
zhenghangbin 发表于 2009-7-14 10:55:53
4# guangqing

libname HGQ SPSS 'Z:\HGQ\performancedata.por';
libname hgq1 'Z:\HGQ';
data hgq1.reducedata;
set HGQ._first_;
   newdataopen=input(dataopen,8.);
   newupdata=input(updata,8.);
run;


第二个问题:
proc sql;
   select count(acnumber)
   from hgq1.reducedata
   group by newdataopen;
quit;


本人也是菜鸟,尝试回答一下,如有错请各位高手多多指教

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

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