等价于群_concat的Stata函数

等价于群_concat的Stata函数,stata,group-concat,Stata,Group Concat,我想对一个分类变量进行分组连接。示例: 帕特x 1A 1b 1b 2A 2A 组连接应导致: 帕特y 1 a-b-b 2 a-a 在Mysql中,这将使用组_concat完成: SELECT pat, GROUP_CONCAT(x SEPARATOR '-') y FROM tb GROUP BY pat 如果函数可以连接不同的有序值也很好。在上述示例中,输出应为: 帕特y 1 a-b 2A 使用MySQL: SELECT pat, GROUP_CONCAT(DISTINCT x ORDER

我想对一个分类变量进行分组连接。示例:
帕特x
1A
1b
1b
2A
2A

组连接应导致:
帕特y
1 a-b-b
2 a-a

在Mysql中,这将使用组_concat完成:

SELECT pat, GROUP_CONCAT(x SEPARATOR '-') y FROM tb GROUP BY pat
如果函数可以连接不同的有序值也很好。在上述示例中,输出应为:
帕特y
1 a-b
2A

使用MySQL:

SELECT pat, GROUP_CONCAT(DISTINCT x ORDER BY x SEPARATOR '-') y FROM tb GROUP BY pat

请注意,这会将数据集减少到较少的观察值

  bysort pat y: keep if _n == 1
  by pat: gen Y = y[1]
  by pat: replace Y = Y[_n-1] + "-" + y if _n > 1
  by pat: keep if _n == _N

按照
帮助egen
中的规定,您不能按组执行
concat
。谢谢!这是此类问题变体的良好基础。