全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2115 7
2024-03-07
复制代码



RT,我想筛选出变量 symbol(字符类型)中包含英文字母的数据,

foreach zm in "A" "B" "C""D" "E" "F" "G" "H" "I""J" "K" "L" "M" "N" "O""P" "Q" "R" "S" "T" "U""V" "W" "X" "Y" "Z" "a""b" "c" "d" "e" "f" "g""h" "i" "j" "k" "l" "m""n" "o" "p" "q" "r" "s""t" "u" "v" "w" "x" "y""z"{

replace jy=1 if strmatch(symbol, "zm")==1

}

结果是0 real changes made...

请问各位大佬,为什么筛选不出来呢?是Unicode或ASCII码的问题吗?应该怎么做?



二维码

扫码加我 拉你入群

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

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

全部回复
2024-3-7 13:47:24
你要做的是是否包含这些字母 你写的命令是 这个观测值是不是ABCD
所以出了问题
二维码

扫码加我 拉你入群

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

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

2024-3-7 17:24:20
wdlbcj 发表于 2024-3-7 13:47
你要做的是是否包含这些字母 你写的命令是 这个观测值是不是ABCD
所以出了问题
你好!请问,是指strmatch是判断是否完全匹配的命令吗?那应该要用哪个命令才可以实现啊?我搜了下indexnot还有regexm好像都涉及unicode编码的问题,但我的整个dta是有汉字的,不知道如果再去调整编码会不会影响到其他变量...
二维码

扫码加我 拉你入群

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

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

2024-3-7 18:46:44
根据 ChatGPT4 的 Data Analyst:你可以使用 Stata 的 `regexm()` 函数来检查 `symbol` 变量中是否包含任何英文字母,并据此创建新变量 `d`。`regexm()` 函数用于正则表达式匹配,能够检查一个字符串是否符合特定的模式。在这个例子中,正则表达式模式是 `[a-zA-Z]`,它代表任何大小写英文字母。

以下是相应的 Stata 命令:
复制代码
这条命令创建了一个新变量 `d`,如果 `symbol` 中包含至少一个大小写英文字母,`d` 将为 1,否则为 0。我试了一下,还是可以的。
二维码

扫码加我 拉你入群

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

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

2024-3-7 19:44:38
黃河泉 发表于 2024-3-7 18:46
根据 ChatGPT4 的 Data Analyst:你可以使用 Stata 的 `regexm()` 函数来检查 `symbol` 变量中是否包含任何 ...
谢谢老师!可以用!帮大忙了,非常感谢!
想再问一下,我之前用regexm试过,但也返回0 real changes made,可以请教一下是哪里出错了吗?
foreach zm in "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"{
replace jy=1 if regexm(symbol,"zm")==1
}
二维码

扫码加我 拉你入群

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

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

2024-3-7 20:25:39
ENNAF 发表于 2024-3-7 19:44
谢谢老师!可以用!帮大忙了,非常感谢!
想再问一下,我之前用regexm试过,但也返回0 real chang ...
复制代码
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群