3

我想分组连接一个分类变量。示例:
拍 x
1 a
1 b
1 b
2 a
2 a

连接组应导致:
pat y
1 abb
2 aa

在 Mysql 中,这将使用 group_concat 完成:

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

如果该函数可以连接不同的有序值,那就太好了。对于上面的例子,输出应该是:
pat y
1 ab
2 a

使用 MySQL:

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

1 回答 1

4

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

  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
于 2013-09-16T21:41:41.147 回答