Was bedeutet „obs“ in Stata?
In diesem Beitrag
Was „obs“ in Stata bedeutet
„obs“ ist die Abkürzung für „observations“ – auf Deutsch: Beobachtungen. In Stata bezeichnet dieser Begriff die einzelnen Zeilen Ihres Datensatzes, also die Fälle oder Analyseeinheiten Ihrer Untersuchung. Wenn Sie 250 Befragte in einer Umfrage haben, enthält Ihr Datensatz 250 Beobachtungen – Stata zeigt diese Zahl als obs an.
Der Begriff taucht an mehreren Stellen auf: in der Statusleiste des Datenfensters, im Output statistischer Befehle und als Teil der Stata-Syntax (etwa beim Befehl set obs). Das Konzept ist grundlegend – ohne ein klares Verständnis von Beobachtungen lässt sich kaum ein Stata-Output sinnvoll lesen.
Wo Sie „obs“ im Stata-Output begegnen
Stata zeigt die Anzahl der Beobachtungen an vielen Stellen automatisch an. Es lohnt sich, die wichtigsten zu kennen, damit Sie den Output schnell einordnen können.
Im Datenfenster und nach dem Laden eines Datensatzes
Sobald Sie einen Datensatz laden, meldet Stata in der Statusleiste unten links die Zahl der Beobachtungen und Variablen, zum Beispiel: 250 observations, 18 variables. Auch der Befehl describe gibt diese Information aus – inklusive Speicherbedarf und Variablentypen.
Im Regressions- und Testoutput
Bei fast allen Analysebefehlen – regress, logit, ttest, anova – erscheint ganz oben rechts im Output Number of obs. Diese Zahl gibt an, wie viele Beobachtungen tatsächlich in die Berechnung eingeflossen sind. Das kann weniger sein als die Gesamtzahl im Datensatz, wenn einzelne Variablen fehlende Werte enthalten.
Den p-Wert und andere Kennzahlen im Stata-Output richtig zu lesen setzt voraus, dass Sie die zugrundeliegende Fallzahl kennen – genau dafür steht die obs-Angabe.
Nach dem Befehl count
Der Befehl count gibt schlicht die Anzahl der Beobachtungen aus, die eine bestimmte Bedingung erfüllen. count if alter > 30 zählt zum Beispiel alle Zeilen, bei denen die Variable alter größer als 30 ist.
* Gesamtzahl der Beobachtungen anzeigen
count
* Beobachtungen mit Bedingung zählen
count if gruppe == 1
* Datensatz beschreiben (inkl. obs-Angabe)
describe
Die Systemvariablen _n und _N verstehen
Stata stellt zwei eingebaute Systemvariablen bereit, die direkt mit dem obs-Konzept zusammenhängen: _n und _N. Der Unterschied zwischen beiden ist klein, aber bedeutsam.
| Variable | Bedeutung | Beispielwert (bei 200 Beobachtungen) |
|---|---|---|
_n |
Aktuelle Beobachtungsnummer (laufende Zeilennummer) | 1, 2, 3, … 200 |
_N |
Gesamtzahl aller Beobachtungen im Datensatz | 200 (in jeder Zeile gleich) |
Wie in einer zugänglichen Übersicht zu _n und _N in Stata erläutert wird, enthält _n in der ersten Beobachtung den Wert 1, in der zweiten den Wert 2 und so weiter – während _N in jeder Zeile denselben Wert hat, nämlich die Gesamtzahl der Zeilen im Datensatz.
Praktische Anwendungen von _n und _N
Mit diesen beiden Variablen lassen sich typische Datenmanagementaufgaben elegant lösen:
- Laufende ID erzeugen:
generate id = _nerstellt eine eindeutige Nummer für jede Beobachtung. - Letzte Beobachtung identifizieren:
if _n == _Nselektiert nur die allerletzte Zeile. - Gesamtzahl als Variable speichern:
generate gesamt = _Nschreibt die Fallzahl in jede Zeile – praktisch für spätere Berechnungen. - Beobachtung innerhalb einer Gruppe zählen:
by gruppe: generate rang = _nzählt innerhalb jeder Gruppe neu durch.
Besonders relevant ist das Verhalten von _n in Kombination mit by:: innerhalb jeder Gruppe beginnt _n bei 1 neu zu zählen, sodass sich Beobachtungsnummern pro Gruppe komfortabel erzeugen lassen. Das ist ein häufig genutztes Muster bei Paneldaten oder gruppierten Befragungen.
Der Befehl set obs: Beobachtungen manuell festlegen
Neben der reinen Beschreibung von Beobachtungen kennt Stata auch den aktiven Befehl set obs, mit dem Sie die Anzahl der Beobachtungen in einem Datensatz explizit festlegen – oder erhöhen.
Syntax und Verhalten
set obs # setzt die Beobachtungsanzahl auf den angegebenen Wert. Dabei muss der neue Wert mindestens so groß sein wie die aktuelle Anzahl – Sie können obs mit diesem Befehl also nicht verringern. Neu hinzugefügte Beobachtungen erhalten bei allen vorhandenen Variablen automatisch fehlende Werte.
Das offizielle Stata-Manual zeigt, wie set obs 100 einen leeren Datensatz mit 100 Beobachtungen erzeugt, woraufhin Stata die Meldung ausgibt: Number of observations (_N) was 0, now 100. Diese Meldung macht den direkten Zusammenhang zwischen dem Begriff obs, dem Befehl und der Systemvariable _N sehr gut sichtbar.
* Leeren Datensatz mit 100 Beobachtungen anlegen
clear
set obs 100
* Laufende Beobachtungsnummer als Variable speichern
generate id = _n
* Simulierte Zufallsvariable erzeugen
generate x = rnormal(0, 1)
* Prüfen: Wie viele Beobachtungen hat der Datensatz jetzt?
describe
Wann braucht man set obs?
In der empirischen Forschungspraxis begegnet Ihnen set obs vor allem in zwei Situationen:
- Simulationen: Sie erzeugen künstliche Datensätze, um statistische Eigenschaften eines Verfahrens zu untersuchen.
- Datensatzerweiterung: Sie möchten zu einem bestehenden Datensatz weitere Zeilen (z.B. prognostizierte Werte) hinzufügen, ohne den ursprünglichen Datensatz zu ersetzen.
Wer Stata vorwiegend für die Auswertung importierter Umfrage- oder Registerdaten nutzt, wird set obs seltener brauchen – der Befehl beim Datenimport in Stata setzt die Beobachtungsanzahl bereits automatisch.
Häufige Missverständnisse rund um obs
Ein zweites, häufiges Missverständnis betrifft die Diskrepanz zwischen der Gesamtzahl der Beobachtungen im Datensatz und der im Output ausgewiesenen Fallzahl. Wenn eine Analyse Number of obs = 185 anzeigt, Ihr Datensatz aber 200 Zeilen enthält, bedeutet das: Bei 15 Beobachtungen lagen für mindestens eine der verwendeten Variablen fehlende Werte vor. Stata schließt diese Fälle standardmäßig aus (listwise deletion).
Ein drittes Missverständnis entsteht beim Umgang mit _n und _N in gruppierten Analysen. Sobald Sie by varname: voranstellen, bezieht sich _N nicht mehr auf den gesamten Datensatz, sondern nur noch auf die aktuelle Gruppe. Das ist gewollt – kann aber zu unerwarteten Ergebnissen führen, wenn man es nicht weiß.
Praxisbeispiel: obs in einer typischen Analyse
Angenommen, Sie führen eine Regressionsanalyse in Stata durch und Ihr Output zeigt folgendes:
Source | SS df MS Number of obs = 185
-------------+---------------------------------- F(3, 181) = 12.34
Model | 452.3120 3 150.7707 Prob > F = 0.0000
Residual | 2209.8543 181 12.2091 R-squared = 0.1699
-------------+---------------------------------- Adj R-squared = 0.1557
Total | 2662.1663 184 14.4682 Root MSE = 3.4942
Die Angabe Number of obs = 185 oben rechts sagt Ihnen: 185 Beobachtungen (Zeilen) wurden in diese Regression einbezogen. Wenn Ihr Datensatz ursprünglich 200 Zeilen hatte, sind 15 Fälle wegen fehlender Werte herausgefallen – ein wichtiger Hinweis, den Sie in der Berichterstattung Ihrer Arbeit erwähnen sollten.
Gerade in Abschlussarbeiten und Dissertationen wird dieser Punkt von Prüfenden oft kritisch nachgefragt. Es empfiehlt sich, misstable summarize oder mdesc vorab zu nutzen, um den Umfang fehlender Werte zu dokumentieren.
Wenn Sie unsicher sind, ob Ihre Fallzahl für das gewählte Analyseverfahren ausreicht oder wie Sie mit fehlenden Werten methodisch korrekt umgehen, bietet die fachkundige Stata-Beratung bei QuantExpert gezielte Unterstützung – von der Datenvorbereitung bis zur Ergebnisinterpretation.
Wer tiefer in die Stata-Logik einsteigen möchte, findet im Beitrag zu do-Files in Stata eine praktische Orientierung, wie sich Analyseschritte – einschließlich obs-Prüfungen – sauber dokumentieren und reproduzierbar gestalten lassen.