我想分组连接一个分类变量。例如:
拍拍x
1 a
1 b
1 b
2 a
2 a
小组连接应导致:
拍你
1 a-b-b
2 a-a
在Mysql中,这将使用group_concat:
完成SELECT pat, GROUP_CONCAT(x SEPARATOR '-') y FROM tb GROUP BY pat
如果函数可以连接不同的有序值,那也很好。以上示例输出应为:
拍你
1 a-b
2 a
使用MySQL:
SELECT pat, GROUP_CONCAT(DISTINCT x ORDER BY x SEPARATOR '-') y FROM tb GROUP BY pat
答案 0 :(得分:3)
请注意,这会将数据集减少到更少的观察值。
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