Diese Datenstruktur ist unzweckmäßig. Angenommen, eine ID-ID müssen Sie umformen. z. B. Dann ist ein gleitender Durchschnitt einfach. Verwenden Sie tssmooth oder einfach nur generieren. z. B. Mehr darüber, warum Ihre Datenstruktur ist ziemlich unfit: Nicht nur würde die Berechnung eines gleitenden Durchschnitt benötigen eine Schleife (nicht unbedingt mit egen), aber Sie würden mehrere neue zusätzliche Variablen erstellen. Mit denen in einer späteren Analyse wäre irgendwo zwischen ungeschickt und unmöglich. EDIT Ill geben eine Probe-Schleife, während sich nicht aus meiner Haltung, dass es schlechte Technik. Ich sehe nicht einen Grund für Ihre Namenskonvention, wobei P1947 ist ein Mittel für 1943-1945 Ich nehme an, das ist nur ein Tippfehler. Nehmen wir an, dass wir Daten für 1913-2012 haben. Für Mittel von 3 Jahren verlieren wir ein Jahr an jedem Ende. Das könnte prägnanter geschrieben werden, auf Kosten einer Flut von Makros innerhalb von Makros. Mit ungleichen Gewichten ist einfach, wie oben. Der einzige Grund, egen verwenden ist, dass es nicht aufgeben, wenn es Versäumnisse, die die oben genannten tun wird. Der Vollständigkeit halber sei bemerkt, dass es leicht ist, Fehler zu behandeln, ohne auf egen zurückzugreifen. Und dem Nenner Wenn alle Werte fehlen, reduziert sich dies auf 00 oder fehlt. Andernfalls, wenn ein Wert fehlt, fügen wir 0 auf den Zähler und 0 auf den Nenner, die die gleiche wie Ignorieren ist. Natürlich ist der Code erträglich wie oben für Mittelwerte von 3 Jahren, aber entweder für diesen Fall oder für die Mittelung über mehr Jahre, würden wir ersetzen die Zeilen oben durch eine Schleife, was egen tut. Oft Zeiten können wir daran interessiert, Räumlich gleitenden Durchschnitt eines Merkmals X. Wir können diesen gleitenden Durchschnitt verwenden, um die Kontrolle der Heterogenität in der Population zu unterstützen, die mit der räumlichen Verteilung der Beobachtungen zusammenhängen kann. Um dies zu tun, müssen wir eine Methode zur Erzeugung eines räumlichen Mittels haben. Ich Code diese manuell, weil ich keine Erfahrung mit räumlichen Daten in Stata und weiß nicht, was der eingebaute Befehl ist (vorausgesetzt, es ist ein). Wenn Sie nur auf der Suche nach dem räumlichen Mittel sind, dann können Sie den eingebauten Befehl bevorzugen. Allerdings ist diese Methode flexibel und leicht modifizierbar, wenn man zB über die Euklidische 2D-Distanzformel hinausgehen möchte und stattdessen lieber die 3D-Formel oder die nD-Formel vorziehen würde. Ebenso könnte die gleitende Durchschnittsstatistik leicht durch eine verschiebende Varianz oder jede andere Statistik ersetzt werden, die über den egen-Befehl erzeugt werden könnte. So könnte diese Übung nützlich sein, um zu untersuchen, auch wenn redundant. Global Nobs 1000 clear set obs Nobs 2D-Koordinaten generieren gen latt runiform () 100 gen longg runiform () 100 Erzeugen Sie die Variable von Interesse. Die Variable hat eine Zufallskomponente und eine räumlich abhängige Komponente. Gen X (lattlongg) 100rnormal () zwei (scatter latt X) (scatter longg X) Wir können sehen, dass es zwar einen allgemeinen Trend zu größeren Werten als Längen - oder Breitengrad gibt, aber kaum ein starkes Muster zu identifizieren ist. Nun können wir für jede Beobachtung den gleitenden Durchschnitt von X berechnen. (Es gibt wohl einen Befehl dafür, den ich nicht kenne). Gen Xave. Gen dist. Forv i1Nobs Berechnen Sie den Abstand aller Punkte von obs i ersetzen Sie dist ((latt-latti) 2 (longg-longgi) 2) .5 Berechnen Sie den Mittelwert von X, wenn der Abstand innerhalb des Bereichs von Interesse ist egen tempx mean (X) if distltmeanrange Ersetzen Sie Xave tempx, wenn ni drop tempx zwei (scatter latt Xave) (scatter longg Xave) Nun können wir den Effekt der Position auf den erwarteten Wert von X anschauen.
No comments:
Post a Comment