楼主: Benlaron
4270 5

[字符问题求助] Stata如何识别不同字符串的排列组合? [推广有奖]

  • 5关注
  • 5粉丝

经事还谙事,阅人如阅川

已卖:275份资源

讲师

54%

还不是VIP/贵宾

-

威望
0
论坛币
1487 个
通用积分
449.1961
学术水平
21 点
热心指数
27 点
信用等级
16 点
经验
1193 点
帖子
189
精华
0
在线时间
902 小时
注册时间
2011-8-2
最后登录
2025-12-28

楼主
Benlaron 发表于 2016-10-2 16:05:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
诸君钧鉴:

在下有一个字符型变量X,其取值可能如下:
id X
1AA,BB,CC
2AA,CC,BB
3CC,AA,BB
4FF
5BB,AA


很显然,前三个观测值本质上是一样的,即“AA,BB,CC”的不同组合。如何批量将这类观测值合并成“AA,BB,CC”?


望不吝赐教!
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 字符串 字符型变量 观测值 字符串 如何

沙发
黃河泉 在职认证  发表于 2016-10-2 17:55:04
先抛砖引玉(不完全符合版主之要求),需外挂(sortrows)
  1. split X, p(",")
  2. sortrows X1 X2 X3, missing replace
  3. egen XN = concat(X1 X2 X3), p(,)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 2 + 2 + 2 精彩帖子

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

藤椅
Benlaron 发表于 2016-10-2 19:00:51
黃河泉 发表于 2016-10-2 17:55
先抛砖引玉(不完全符合版主之要求),需外挂(sortrows)
多谢,其实我想了一下,可以split出X1-X8,然后再reshape long一波,sort完再reshape wide回去

板凳
夏目贵志 发表于 2016-10-3 02:12:50
  1. . list

  2.      +------------------------------+
  3.      |     var1       var2     var3 |
  4.      |------------------------------|
  5.   1. | AA,BB,CC   AA BB CC   AABBCC |
  6.   2. | AA,CC,BB   AA CC BB   AABBCC |
  7.   3. | CC,AA,BB   CC AA BB   AABBCC |
  8.   4. |       FF         FF       FF |
  9.   5. |    BB,AA      BB AA     AABB |
  10.      +------------------------------+
复制代码

  1. gen var2=subinstr(var1,","," ",.)
  2. gen var3=""
  3. foreach tgt in AA BB CC DD EE FF GG {
  4.         replace var3 = var3+"`tgt'" if strmatch(var2,"*`tgt'*")
  5. }
复制代码

报纸
黃河泉 在职认证  发表于 2016-10-3 16:14:48
我在 Stata forum 将你的问题求解,得到 Professor Clyde Schechter 的答案如下
  1. set more off
  2. clear
  3. input id str12 X
  4. 1 "AA,BB,CC"
复制代码
只能说完美!

地板
Benlaron 发表于 2016-10-3 22:08:01
黃河泉 发表于 2016-10-3 16:14
我在 Stata forum 将你的问题求解,得到 Professor Clyde Schechter 的答案如下只能说完美!
谢谢。我能说和我一开始想的reshape法思路一致么(有种大言不惭的感觉)

不过亲测一下,大型数据中sortrows还是更快,这是毋庸置疑的

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

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