楼主: hellosd
1069 1

[学习心得] 变量中包含汉字等非数字字符,如何提取变量数据? [推广有奖]

  • 2关注
  • 1粉丝

已卖:61份资源

博士生

31%

还不是VIP/贵宾

-

威望
0
论坛币
1396 个
通用积分
0.1619
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
2190 点
帖子
92
精华
0
在线时间
371 小时
注册时间
2009-6-30
最后登录
2025-5-25

楼主
hellosd 发表于 2021-2-1 21:37:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

在数据处理过程中,原始数据通常包含汉字,如“房贷3000元”,如何只保留3000?以下命令可以实现。欢迎补充更好的方法。

*********************************************************************

globalvars "所有变量"

foreachv of varlist $vars{

gen`v'_new=""

gen`v'_length=length(`v')

egenmax_`v'=max(`v'_length)

locali=1

while`i'<= max_`v'{

gen`v'_middle_`i'=substr(`v',`i',1)

replace`v'_new=`v'_new+`v'_middle_`i' if (`v'_middle_`i'=="0"|`v'_middle_`i'=="1" |`v'_middle_`i'=="2"|`v'_middle_`i'=="3" ///

                                         |`v'_middle_`i'=="4" |`v'_middle_`i'=="5"|`v'_middle_`i'=="6" |`v'_middle_`i'=="7" ///

                                                                                               |`v'_middle_`i'=="8"|`v'_middle_`i'=="9" |`v'_middle_`i'==".")                                                                                          

drop`v'_middle_`i'

dis`i'

locali=`i'+1

}

dropvars`v'_length max_`v'

destring `v'_new, replace

}

**************



二维码

扫码加我 拉你入群

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

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

关键词:如何提取 varlist foreach length Global

沙发
songking 发表于 2021-2-2 22:02:40
help moss
也可以用正则表达式

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-9 16:40