我使用的命令如下:
- forval i=1/3 {
- sort city ind
- order city ind
- bys city : gen id`i'= cond(indu[`i']<=indu[_n], indu[`i'], indu[_n])
- }
复制代码得到的结果如下:
红色的部分是多出来的数值,因为301地区只有1310和1320两个变量,他们之间的相互关系应该是个2*2的矩阵,不应该是2*3的矩阵。所以,对于有多个分组,且分组内数量不相同,应该怎么求数据两两之间的大小呢?我想到的方法就是先将city数据分解,再单独对ind做两两比较,再利用append将对ind计算的结果进行合并,不知道还有没有其他简单的方法结果如下:
- input float city int ind float(indu ind1)
- 101 1310 1310 1
- 101 1310 1320 1
- 101 1310 1331 3
- 101 1320 1310 2
- 101 1320 1320 2
- 101 1320 1331 3
- 101 1331 1310 1
- 101 1331 1320 2
- 101 1331 1331 3
- 201 1310 1310 4
- 201 1310 1320 3
- 201 1310 1331 2
- 201 1320 1310 3
- 201 1320 1320 3
- 201 1320 1331 2
- 201 1331 1310 2
- 201 1331 1320 2
- 301 1310 1310 7
- 301 1310 1320 6
- 301 1320 1310 6
- 301 1320 1320 6
复制代码
还有个问题,就是我想问一下老师,因变量有三个下标,这种怎么做空间面板回归啊?