谢悬赏!
* 处理过程如下:
* 查看
list
* 1 通过排序和下标合并数据
sort i j
replace a=a+"/"+a[_n-1] if i==i[_n-1]
replace b=b+"/"+b[_n-1] if i==i[_n-1]
* 2 清除冗余数据和变量
drop if i==i[_n+1]
drop j
* 查看
list
日志如下:
. list
+------------------------+
| i j a b |
|------------------------|
1. | 1 1 com 1 AAA |
...
楼主,我帮你搞定了,我仍然使用了resharp,不过更加智能,不需要自己去查看resharp后的列数,而且自动删除最后的“/”,程序为:bysort i: egen idnum = count(j)
reshape wide a b, i(i) j(j)
gen a = "."
gen b = "."
set trace on
sum idnum
local m = r(max)
forvalues n = 1(1)`m'{
replace a = a + "\" + a`n'
replace b = b + "\" + b`n'
}
egen aa = msub(a), f(".\") r("")
egen bb = msub(b), f(".\") r("")
dropvars aa1 bb1
gen aa1 = regexr(aa, "[\]*", "")
gen bb1= regexr(bb, "[\]*", "")
drop a b aa bb