楼主: crystal珈
1020 2

[字符问题求助] 急求!!!stata字符串匹配和赋值的循环代码怎么写? [推广有奖]

  • 1关注
  • 0粉丝

本科生

36%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.4617
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
281 点
帖子
14
精华
0
在线时间
177 小时
注册时间
2019-10-8
最后登录
2024-7-22

楼主
crystal珈 发表于 2023-2-1 10:57:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在有两列数据,一列是全称name,另一列是简称key,两列数据量不相等。我要在全称name中检索出 包含同一简称key的数据,并给属于同一类的全称name编码。
如下表:
全称name编码简称key
平安证券

1

安信
东兴证券

2

东兴
安信证券

3

民生
民生证券

4

平安
国信证券

5

兴业
兴业证券

6

方大
方大证券

7

国信
中国平安证券

1

方大证券

7

平安证券

1

北京安信证券

3



下面是我试过的报错代码
gen 编码 = .
local vars "安信 东兴 民生 平安 兴业 方大 国信"
forvalues i = 1/7{
  gen `i' =.{
   foreach v of local vars{
   replace 编码 = `i' if strmatch(全称 , "*`v'*")
   }
  }
}

求友友们帮忙看看代码哪里有问题??这种情况应该怎么编写代码???



二维码

扫码加我 拉你入群

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

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

关键词:字符串匹配 Stata tata 字符串 forvalues 字符串 循环 匹配 赋值

沙发
pengxhan 发表于 2023-2-1 19:24:21
gen str30 新名称 = ""
local vars "安信 东兴 民生 平安 兴业 方大 国信"
    foreach v of local vars{
   replace 新名称 = "`v'" if strmatch(全称 , "*`v'*")
   }  
encode 新名称,gen(编码)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
crystal珈 发表于 2023-2-2 16:08:24
pengxhan 发表于 2023-2-1 19:24
gen str30 新名称 = ""
local vars "安信 东兴 民生 平安 兴业 方大 国信"
    foreach v of local vars ...
谢谢大佬!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-9 03:04