楼主: 皖山一流
611 0

自如自乐小命令:取出观察值中的数字 [推广有奖]

  • 4关注
  • 13粉丝

讲师

25%

还不是VIP/贵宾

-

威望
0
论坛币
2342 个
通用积分
155.5810
学术水平
73 点
热心指数
80 点
信用等级
54 点
经验
16517 点
帖子
352
精华
0
在线时间
308 小时
注册时间
2013-12-9
最后登录
2021-1-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
程序说明:如果变量中有类似这样的观察值:&388&8*3¥#lj号89996%799^3

我这个小程序就是将数字取出来,得到:38883899967993
语法:capnum  varname
代码:
  1. cap program drop capnum
  2. pro define capnum
  3. version 13.0
  4. syntax varlist
  5. tokenize `varlist'
  6. loc vn : word count `varlist'
  7. forval var=1/`vn'       {
  8.         loc i=1
  9.         while `i'<=_N  {
  10.                 loc n=""
  11.                 if indexnot(``var''[`i'],"0123456789") != 0  {
  12.                         loc m=length(``var''[`i'])
  13.                         forval j=1/`m'  {
  14.                                 loc a=substr(``var''[`i'],`j',1)
  15.                                 if indexnot("`a'","0123456789") == 0  {
  16.                                         loc n=plural(0,"`n'","+`a'")
  17.                                 }
  18.                                 loc ++j
  19.                         }
  20.                         qui     replace ``var''="`n'"  in `i'
  21.                 }
  22.                         loc ++i
  23.         }
  24. }
  25. end
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:varlist Version Program DEFINE SYNTAX stata 字符 数字 取出

士不可不弘毅,任重而道远~
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

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

GMT+8, 2024-9-19 06:42