努力学习stata~ 发表于 2023-6-13 21:06 
如图,为何两者连用一直显示仍存在与关键变量不一致的变量,但去掉foreach之后就可以执行成功?
用foreach 的时候,每次进入循环的只有局部暂元var的一个变量v,进行reshape命令转换 wide数据时,其余变量在同一个i下,值不同,就会有一致性问题。(reshap wide v,i j 分步来看,对于v来说,宽数据转换,会按照j的类别生成多个和v相关的变量名,v变量名本身消失;对于其余变量来说,变量名还会存在,若同一个i,值相同,也是可以对应的,整个转换顺利进行,若值是不同的,产生不一致性)<br>
去掉foreach单独reshape 你后面接的也是暂元var,而不是单独一个变量v,reshape wide var, i j 此时全部处理变量都进行宽数据转换,能够对应上,命令正常运行。