楼主: innerper
12736 7

[数据管理求助] 求问stata中,如果一个变量中包含某些文字,怎么替换成数。如包含“高血压”,就换成1 [推广有奖]

  • 5关注
  • 1粉丝

已卖:979份资源

博士生

70%

还不是VIP/贵宾

-

威望
0
论坛币
954 个
通用积分
186.5857
学术水平
14 点
热心指数
20 点
信用等级
8 点
经验
8697 点
帖子
98
精华
0
在线时间
541 小时
注册时间
2015-3-6
最后登录
2022-2-22

楼主
innerper 发表于 2015-3-7 10:36:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求问stata中,如果一个变量中包含某些文字,怎么替换成数?如包含“高血压”三个字,就换成1。谢谢各位啦~
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 高血压 高血压

沙发
tony2040044 发表于 2015-3-7 14:31:44
replace x=1 if strmatch(y,"*高血压*")==1
不确定stata能识别中文字符,英文字符肯定是可以的
已有 6 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
remlus + 100 精彩帖子
w天将明 + 5 精彩帖子
bluce-lee + 1 + 1 精彩帖子
日新少年 + 2 + 2 + 2 精彩帖子
葫芦娃大王 + 10 + 10 精彩帖子
SpencerMeng + 10 + 1 + 1 热心帮助其他会员

总评分: 经验 + 110  论坛币 + 26  学术水平 + 3  热心指数 + 4  信用等级 + 2   查看全部评分

藤椅
innerper 发表于 2015-3-7 16:47:37
tony2040044 发表于 2015-3-7 14:31
replace x=1 if strmatch(y,"*高血压*")==1
不确定stata能识别中文字符,英文字符肯定是可以的
试过了,中文字符也可以。非常非常感谢你呀~~~有了这个方法就比较简单了~
已有 1 人评分经验 收起 理由
remlus + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

板凳
tony2040044 发表于 2015-3-8 22:53:09
innerper 发表于 2015-3-7 16:47
试过了,中文字符也可以。非常非常感谢你呀~~~有了这个方法就比较简单了~
你也帮了我了 没试过中文字符

报纸
sunnyfangfang 发表于 2019-8-23 09:25:22
谢谢,学习啦

地板
lxc8101727 发表于 2022-2-20 18:55:49
如果是对两个关键字同时赋值为1呢?例如高血压和高血脂?谢谢了

7
hyrrrrr 发表于 2022-4-15 18:34:09
lxc8101727 发表于 2022-2-20 18:55
如果是对两个关键字同时赋值为1呢?例如高血压和高血脂?谢谢了
同问!!!

8
zdlspace 学生认证  发表于 2022-4-15 22:13:00
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input str34 var1
  4. "高血压"                        
  5. "w欧式高血脂丫丫"            
  6. "高血脂高血压"               
  7. "高血压高血脂"               
  8. "a啊高血脂上述高血压啊啊"
  9. "g傲雪呀高血压加高血脂"   
  10. "ssss"                              
  11. "ddd"                              
  12. "ssss"                              
  13. "s事实上"                        
  14. "g奥高血"                        
  15. "g奥高脂"                        
  16. end

  17. **方案1
  18. gen d=1 if strmatch(var1,"*高血脂*")
  19. replace d=1 if strmatch(var1,"*高血压*")
  20. list
  21.    +-----------------------------+
  22.      |                    var1   d |
  23.      |-----------------------------|
  24.   1. |                  高血压   1 |
  25.   2. |         w欧式高血脂丫丫   1 |
  26.   3. |            高血脂高血压   1 |
  27.   4. |            高血压高血脂   1 |
  28.   5. | a啊高血脂上述高血压啊啊   1 |
  29.      |-----------------------------|
  30.   6. |   g傲雪呀高血压加高血脂   1 |
  31.   7. |                    ssss   . |
  32.   8. |                     ddd   . |
  33.   9. |                    ssss   . |
  34. 10. |                 s事实上   . |
  35.      |-----------------------------|
  36. 11. |                 g奥高血   . |
  37. 12. |                 g奥高脂   . |
  38.      +-----------------------------+


  39. **方案2
  40. gen d=1 if regexm(var1,"高血脂")
  41. replace d=1 if regexm(var1,"高血压")
  42. list
  43.      +-----------------------------+
  44.      |                    var1   d |
  45.      |-----------------------------|
  46.   1. |                  高血压   1 |
  47.   2. |         w欧式高血脂丫丫   1 |
  48.   3. |            高血脂高血压   1 |
  49.   4. |            高血压高血脂   1 |
  50.   5. | a啊高血脂上述高血压啊啊   1 |
  51.      |-----------------------------|
  52.   6. |   g傲雪呀高血压加高血脂   1 |
  53.   7. |                    ssss   . |
  54.   8. |                     ddd   . |
  55.   9. |                    ssss   . |
  56. 10. |                 s事实上   . |
  57.      |-----------------------------|
  58. 11. |                 g奥高血   . |
  59. 12. |                 g奥高脂   . |
  60.      +-----------------------------+
复制代码

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

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