Stata 通过对某些观测值分组生成变量

Stata 通过对某些观测值分组生成变量,stata,Stata,我有一个仅包含变量值的数据集: clear input value new_var 1 1 3 3 5 5 30 1 40 3 50 5 11 1 12 3 13 5 end 如何生成一个新变量new\u var,该变量包含value中前三个观察值的重复序列?有多种方法:这里有两种: clear input value new_var 1 1 3 3 5 5 30 1 40 3 50 5 11 1 12 3 13 5 end e

我有一个仅包含变量
值的数据集

clear
input value new_var
1   1
3   3
5   5 
30  1 
40  3 
50  5 
11  1
12  3
13  5
end

如何生成一个新变量
new\u var
,该变量包含
value
中前三个观察值的重复序列?

有多种方法:这里有两种:

clear
input value new_var
1   1
3   3
5   5 
30  1 
40  3 
50  5 
11  1
12  3
13  5
end

egen index = seq(), to(3)
generate wanted = value[index]

generate direct = cond(mod(_n, 3) == 1, 1, cond(mod(_n, 3) == 2, 3, 5))

list, sep(3)

     +-------------------------------------------+
     | value   new_var   index   wanted   direct |
     |-------------------------------------------|
  1. |     1         1       1        1        1 |
  2. |     3         3       2        3        3 |
  3. |     5         5       3        5        5 |
     |-------------------------------------------|
  4. |    30         1       1        1        1 |
  5. |    40         3       2        3        3 |
  6. |    50         5       3        5        5 |
     |-------------------------------------------|
  7. |    11         1       1        1        1 |
  8. |    12         3       2        3        3 |
  9. |    13         5       3        5        5 |
     +-------------------------------------------+