楼主: sj12138hhh
1597 6

[数据管理求助] stata中将str转化为float遇到了点问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

17%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
179 点
帖子
5
精华
0
在线时间
41 小时
注册时间
2022-2-9
最后登录
2023-5-24

楼主
sj12138hhh 发表于 2022-2-11 18:06:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如图,mrl_original是string,mrl是float,将字符串转为数值的时候会出现缺失值(因为有些字符串里面不光有数字还有文字),但是我想保留前面的数字部分,比如0.01(default)就保留0.01,5.0 TEMPORARY就保留5.0,请问我该如何处理?
e775932c60848b353c0f74999ede7a1.png
二维码

扫码加我 拉你入群

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

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

关键词:float Stata tata TEMPORARY Original

沙发
DΘstinyじò 发表于 2022-2-12 12:14:04
尝试
  1. destring mrl_original,gen(mrl) ignore("(default)" "TEMPORARY") float
复制代码

藤椅
sj12138hhh 发表于 2022-2-12 14:00:28
DΘstinyじò 发表于 2022-2-12 12:14
尝试
你好!主要是除了default和temporary外还有其他的,有很多类似的,这个数据库有3000多万条数据,不可能一个一个ignore,有没有什么更好的方法呢

板凳
DΘstinyじò 发表于 2022-2-12 17:09:00
sj12138hhh 发表于 2022-2-12 14:00
你好!主要是除了default和temporary外还有其他的,有很多类似的,这个数据库有3000多万条数据,不可能一 ...
如果只有数字和字符两部分,即不会出现数字+字符+数字,或者其他类型,尝试以下代码:
  1. gen mrl=real(ustrregexs(0))  if ustrregexm(mrl_original,"[.0-9]+")
复制代码

报纸
sj12138hhh 发表于 2022-2-12 20:30:42
这个代码应该有用,但是我的stata报错unknown function ()。。

地板
DΘstinyじò 发表于 2022-2-13 17:46:37
sj12138hhh 发表于 2022-2-12 20:30
这个代码应该有用,但是我的stata报错unknown function ()。。
手动输入或者用的是360浏览器那就兼容模式下点击复制代码。

7
修波 学生认证  发表于 2022-2-16 15:41:39
用python的正则表达式很容易提取

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-24 21:39