Stata:将非重复行计为重复行

时间:2015-10-02 12:31:00

标签: stata

faq

开始,请考虑以下代码来检测重复项
. quietly by date id:  gen dup = cond(_N==1,0,_n)
. browse date id dup

这是输出:

date            id    dup
360             1003    0
360             1005    0
360             1017    1
360             1017    2
360             1019    1
360             1019    2
360             1019    3
360             1023    1
360             1023    2
360             1023    3

我不明白为什么第三行(360, 1017, 1)是重复的(dup==1)...它是标识为1017的第一行。我错过了什么?

我在Stata 12上。

2 个答案:

答案 0 :(得分:2)

你对逻辑感到困惑。

对于每个组,由与MATCH (p:Product)-[b:BOUGHT_TOGETHER]-(q:Product) RETURN p.id, q.id, b.size ORDER BY b.size DESC LIMIT 3; 前缀一起使用的变量确定,如果有多个观察值,则计数从1开始(参见by)。最后一次观察你所引用的相应组的变量help _n(观察4)表明有两个相同的观察结果:

dup

当且仅当不存在重复项时,观察结果标有360 1017 1 360 1017 2 。例如,观察2:

0

检查最低限度修改代码的结果:

360             1005    0

这可能对原始配方有帮助。

答案 1 :(得分:1)

你得到了你所要求的。如果值的组合是唯一的(仅发生一次),则"merchant": { "id": "1", "user_id": "10" "links": { "product-tags": "http://localhost:3001/merchant/1781/product_tags" } } 为1,返回值为0.

否则_N对于每个组为2或更多,并且重复(相同)观察被赋值为1,2(等等,视情况而定)。

此处和其他地方,在指定的变量(此处为_N)上标识了重复(相同)的观察结果。