replace命令给出"无效的语法"错误

时间:2017-03-15 20:07:10

标签: replace syntax unique stata

所以我的命令是这样的:

replace tradeflowcodepart = tradeflowcodepart[_n-1] + 1 if tradeflowcodepart = tradeflowcodepart[_n-1] & partnername = partnername[_n-1]

它一直给我invalid syntax错误。

tradeflowcodepart是一个二进制变量,if之后的另一个是字符串。

我最终的目标是让每个观察都是独一无二的,这样我就能merge用另一张桌子(我计划进行类似的练习,使每个观察都独一无二)。因此,如果之前的tradeflowcodepartpartnername与当前观察中的相同,那么我想在tradeflowcodepart中添加一个数字,以使观察成为唯一。

1 个答案:

答案 0 :(得分:0)

if运算符之后的Stata中,总是出现一个逻辑表达式,evaluates为TRUE或FALSE。如果为TRUE,则执行if之前的部分(命令本身),否则中止。鉴于它是一个逻辑表达式,Stata使用==符号,而不是=正确指定,您的命令将是:

replace tradeflowcodepart = tradeflowcodepart[_n-1] + 1 if tradeflowcodepart == tradeflowcodepart[_n-1] & partnername == partnername[_n-1]