变量,双重计算观察结果

时间:2015-08-17 20:06:11

标签: stata

我正在尝试创建一个新的变量,以便它会像 1,1,2,2,3,3,4,4 .....意味着它会重复计算观察结果。 我目前的代码是这样的

gen newid = _n
replace newid = newid[_n+1] if mod(newid2,2) == 0

但是结果是1,1,3,3,5,5,7,7,......其中增量是2,即我只得到奇数。我该如何修改此代码?

2 个答案:

答案 0 :(得分:2)

您可以尝试将ID变量除以2,然后使用Stata的ceil函数将其强制为最接近的整数。

clear 
set obs 50
gen newid = _n
gen newid2 = ceil(newid/2)

答案 1 :(得分:0)

您可以使用int(x)功能。 此函数返回通过截断x获得的整数。

因此,int(5.2)为5.

如果您想要以下模式

    1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

命令是

    gen seq = int((_n-1)/2) +1