https://www.statalist.org/forums/for...pping-interval
I'd like to create a lower and upper bound for a variable (lambda).
I first compute lambda in Excel by the formula: lambda = a^(1-r)
The results are in Table 1.
And then I create the interval of lambda for each "numbers of accepted options" in Table 2 in Excel, too.
Table 1:
Hypothetical options | a | r=2.91 | r=1.96 | r=0.66 | r=0.31 |
1 | 3 | 0.12 | 0.35 | 1.45 | 2.13 |
2 | 2 | 0.27 | 0.51 | 1.27 | 1.61 |
3 | 1.5 | 0.46 | 0.68 | 1.15 | 1.32 |
4 | 1.2 | 0.71 | 0.84 | 1.06 | 1.13 |
5 | 1 | 1.00 | 1.00 | 1.00 | 1.00 |
6 | 0.86 | 1.34 | 1.16 | 0.95 | 0.90 |
Table 2: For each h_safeoption we have one equivalent of r
h_safeoption | ||||
3 | 2 | 1 | 0 | |
h_accepted | r = 2.91 | r = 1.96 | r = 0.66 | r = 0.31 |
0 | λ ≤ 0.12 | λ ≤ 0.35 | λ ≥ 1.45 | λ ≥ 2.13 |
1 | 0.12 < λ ≤ 0.27 | 0.35 < λ ≤ 0.51 | 1.27 ≤ λ < 1.45 | 1.61 ≤ λ < 2.13 |
2 | 0.27 < λ ≤ 0.46 | 0.51 < λ ≤ 0.68 | 1.15 ≤ λ < 1.27 | 1.32 ≤ λ < 1.61 |
3 | 0.46 < λ ≤ 0.71 | 0.68 < λ ≤ 0.84 | 1.06 ≤ λ < 1.15 | 1.13 ≤ λ < 1.32 |
4 | 0.71 < λ ≤ 1 | 0.84 < λ ≤ 1 | 1 ≤ λ < 1.06 | 1 ≤ λ < 1.13 |
5 | 1 < λ ≤ 1.34 | 1 < λ ≤ 1.16 | 0.95 ≤ λ < 1 | 0.90 ≤ λ < 1 |
6 | λ > 1.34 | λ > 1.16 | λ < 0.95 | λ < 0.90 |
Then I generate these lambda1h (min) and lambda2h (max) in Stata by the following command and repeat for lambda2h
gen lambda1h=0.12 if h_safeoption==3&h_accepted==1
replace lambda1h=0.27 if h_safeoption==3&h_accepted==2
replace lambda1h=0.46 if h_safeoption==3&h_accepted==3
replace lambda1h=0.71 if h_safeoption==3&h_accepted==4
replace lambda1h=1 if h_safeoption==3&h_accepted==5
replace lambda1h=1.34 if h_safeoption==3&h_accepted==6
replace lambda1h=0.35 if h_safeoption==2&h_accepted==1
replace lambda1h=0.51 if h_safeoption==2&h_accepted==2
replace lambda1h=0.68 if h_safeoption==2&h_accepted==3
replace lambda1h=0.84 if h_safeoption==2&h_accepted==4
replace lambda1h=1 if h_safeoption==2&h_accepted==5
replace lambda1h=1.16 if h_safeoption==2&h_accepted==6
replace lambda1h=1.45 if h_safeoption==1&h_accepted==0
replace lambda1h=1.27 if h_safeoption==1&h_accepted==1
replace lambda1h=1.15 if h_safeoption==1&h_accepted==2
replace lambda1h=1.06 if h_safeoption==1&h_accepted==3
replace lambda1h=1 if h_safeoption==1&h_accepted==4
replace lambda1h=0.95 if h_safeoption==1&h_accepted==5
replace lambda1h=2.13 if h_safeoption==0&h_accepted==0
replace lambda1h=1.61 if h_safeoption==0&h_accepted==1
replace lambda1h=1.32 if h_safeoption==0&h_accepted==2
replace lambda1h=1.13 if h_safeoption==0&h_accepted==3
replace lambda1h=1 if h_safeoption==0&h_accepted==4
replace lambda1h=0.9 if h_safeoption==0&h_accepted==5
----------------------- copy starting from the next line -----------------------
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input float(h_accepted h_safeoption) 0 3 0 3 0 3 5 1 6 4 4 4 0 1 4 1 3 1 4 0 6 0 6 0 2 2 2 0 3 0 6 0 3 4 0 3 2 0 0 4 0 4 0 3 0 4 0 1 0 4 0 1 0 4 4 0 0 0 0 4 6 0 3 0 2 0 1 0 0 3 0 0 5 4 6 3 6 4 1 3 1 3 0 3 4 0 0 0 0 3 0 1 6 0 6 2 2 0 0 3 3 4 5 0 1 2 0 4 1 3 2 1 2 3 3 0 4 1 0 3 0 0 2 0 5 0 0 4 0 4 5 1 0 4 2 0 0 4 6 0 6 4 3 1 0 4 4 0 6 0 3 4 1 3 0 0 4 0 0 1 0 4 5 2 1 1 4 2 4 0 1 0 4 3 6 0 2 0 6 0 4 1 6 0 6 0 6 0 3 0 6 0 2 0 6 1 0 4 6 4 end
Are there any faster way to create lambda1h and lambda2h?
Thank you,
0 Response to are there a quicker way to generate a variable?
Post a Comment