Extrahieren von zufälligen ganzen Zahlen aus einer gegebenen Variablen

zlqs1985

Meine Aufgabe besteht darin, 3Jahre 500zu Simulationszwecken zufällig innerhalb eines Zeitintervalls auszuwählen.

Genauer gesagt: Ich möchte 3zufällige Jahre von 2007bis 2016( 10Jahre) auswählen , zum Beispiel 2008, 2012und 2014. Es ist also mehr oder weniger äquivalent zum Extrahieren von zufälligen ganzen Zahlen aus einer Variablen.

Meine Lösung ist folgende:

* The following (empty) dataset will be used to append the results of the Monte Carlo simulations
use "recession_parms.dta", clear
save "ind_simulations.dta", replace

forvalues i=1(1)500 {

use reg_sample.dta, clear

di "SIMULATION `i'"

scalar define lowest_year=2007
scalar define highest_year=2016

// randomly select "faked" year1: not inclue real treated years
gen year1_random=(lowest_year+int((highest_year-lowest_year+1)*runiform()))  //To generate random integers over [a,b], use a+int((b-a+1)*runiform()) (see STATA help)
gen temp1 = inlist(year1_random,2008,2012,2014)
while temp1==1 {
    replace year1_random =(lowest_year+int((highest_year-lowest_year+1)*runiform()))
    cap drop temp1
    gen temp1 = inlist(year1_random,2008,2012,2014)
}

// randomly select "faked" year2: (1)not inclue real treated years and (2)not equal to year1
gen year2_random=(lowest_year+int((highest_year-lowest_year+1)*runiform())) 
gen temp2 = inlist(year2_random,2008,2012,2014)
while temp2==1|year1_random==year2_random {
    replace year2_random = lowest_year+int((highest_year-lowest_year+1)*runiform()))
    cap drop temp2
    gen temp2 = inlist(year2_random,2008,2012,2014)
}

// randomly select ""faked" year3_random:(1)not inclue real treated years and (2)not equal to year1 or year2
gen year3_random=(lowest_year+int((highest_year-lowest_year+1)*runiform())) 
gen temp3 = inlist(year2_random,2008,2012,2014)
while temp3==1|year1_random==year3_random|year2_random==year3_random {
    replace year3_random =(lowest_year+int((highest_year-lowest_year+1)*runiform()))
    cap drop temp3
    gen temp3 = inlist(year3_random,2008,2012,2014)
}


drop temp*

* Generate the new treated year dummies
gen recession = (year==year1_random|year==year2_random |year==year3_random)



* Regression
di "SIMULATION `i'"
qui  xtreg freq recession $city_control trend trend_sq ,fe cluster(city) 
parmest,format(estimate min95 max95 %8.2f p %8.3f) saving("temp.dta", replace)


* Append the results of the simulation
use "temp.dta", clear
keep if parm=="recession"
append using "ind_simulations.dta"
save "ind_simulations.dta", replace
}
erase "temp.dta"

use "ind_simulations.dta", clear
drop if estimate==.
save "ind_simulations.dta", replace

Gibt es eine elegante Möglichkeit, mein Ziel zu erreichen, anstatt mehrere whileSchleifen zu schreiben ?

Benutzer8682794

Folgendes funktioniert bei mir:

sysuse uslifeexp, clear
set seed 12345

tempname sim
postfile `sim' id year1 year2 year3 using results, replace

forvalues i = 1 / 500 {
    generate random = runiform()
    sort random
    post `sim' (`i') (year[1]) (year[2]) (year[3])
    drop random
}

postclose `sim'

Unten sehen Sie die ersten zehn Beobachtungen im erzeugten resultsDatensatz:

use results, clear

list in 1/10

     +----------------------------+
     | id   year1   year2   year3 |
     |----------------------------|
  1. |  1    1927    1920    1910 |
  2. |  2    1946    1917    1925 |
  3. |  3    1927    1926    1946 |
  4. |  4    1916    1908    1963 |
  5. |  5    1983    1913    1967 |
     |----------------------------|
  6. |  6    1926    1967    1974 |
  7. |  7    1976    1947    1927 |
  8. |  8    1908    1960    1982 |
  9. |  9    1947    1989    1915 |
 10. | 10    1950    1920    1975 |
     +----------------------------+

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

So generieren Sie einen zufälligen Satz von ganzen Zahlen aus einem bestimmten Bereich mit Ausnahme einer ganzen Zahl in Matlab

Berechnen Sie Teilmengen einer gegebenen Liste von ganzen Zahlen

Schreiben einer Funktion zum Extrahieren von ganzen Zahlen aus Strings mit regulären Ausdrücken

Bubble Art von zufälligen ganzen Zahlen in Scala

Generieren einer Liste von zufälligen ganzen Zahlen (von -1000 bis 1000), die Anzahl der ganzen Zahlen in der Liste wird durch Benutzereingaben bestimmt

Finden einer ganzen Zahl an einer gegebenen Position i in einer Folge von ansteigenden und nebeneinander stehenden ganzen Zahlen

wie man alle ganzen Zahlen aus einem Array von zufälligen Zeichen extrahiert und in das Array überträgt

Wie erzeuge ich eine Liste mit einer angegebenen Größe von zufälligen ganzen Zahlen innerhalb eines Bereichs in Java 8?

Alle kontinuierlichen Unterarrays aus einem gegebenen Array von ganzen Zahlen erhalten

Geben Sie bei einer gegebenen Liste von ganzen Zahlen und einer ganzen Zahl k zurück, ob k als Summe beliebiger Zahlen aus dieser Liste oder ihrer Multiplikationen erstellt werden kann

Wie finde ich ein kontinuierliches Segmentpaar in einer gegebenen Liste von ganzen Zahlen (funktional nicht imerativ)?

Summen von ganzen Zahlen aus einer Liste von Listen

Zufällige Auswahl einer ganzen Zahl aus den Indizes einer gegebenen Liste

Tensorflow: So wählen Sie einen zufälligen String aus einer gegebenen Liste von Strings mit der Tensorflow-Operation

Identifizieren von ganzen Zahlen aus einer Liste mit Strings und ganzen Zahlen

Entfernen von ganzen Zahlen aus einer Liste+Python

Vergleichen von ganzen Zahlen aus Tupeln in einer for-Schleife

So extrahieren Sie nur Zahlen aus einer Variablen

Finde die Summe von zwei beliebigen gegebenen ganzen Zahlen

Array mit zufälligen ganzen Zahlen

wie man ganze Zahlen aus einer zufälligen Liste multipliziert

Suchen Sie mit einer Funktion, die Teiler findet, den größten gemeinsamen Teiler von zwei gegebenen zwei positiven ganzen Zahlen

Generieren Sie eine Matrix aus zufälligen ganzen Zahlen, die pro Zeile in Python eindeutig sind

Pandas: Erstelle eine neue Spalte in df mit zufälligen ganzen Zahlen aus dem Bereich

C Programmierung: Summe einer Folge von ganzen Zahlen bis Null und gibt die Summe von zwei multiplizierten ganzen Zahlen aus

Extrahieren von Zahlen aus einer Liste in einer Zelle in Excel

Extrahieren von Zahlen aus einer Zeichenfolge unter Beibehaltung von Leerzeichen

Anzahl aller möglichen Zahlen, die aus einer gegebenen Menge von Ziffern bis zu einer gegebenen Länge aufgebaut sind

Extrahieren von zufälligen "Bits" der Basis K aus einem vorgefüllten zufälligen Puffer

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv