Seite 1 von 1

Probleme beim erstellen einer Variablen

BeitragVerfasst: Di 27. Mär 2012, 19:00
von WegnerH
Hallo,
ich habe folgendes Problem. Ich habe eine Datenbank für meine Diplomarbeit.

Grob schematisch habe ich nun folgendes Problem.

Code: Alles auswählen
Beispiel aus "browse"

id          mzpt             TRI           
1             0              200           
1             6              180           
1            12              160           
1            18              140           
1            24              100           
2             *
2             *
2             *
2
2
3
3
ID= Patienten-ID (ich habe naürlich noch viel mehr Patienten
MZPT= Messzeitpunkt (Montate)
TRI = Triglyceridwert



Nun benötige ich eine neue Variable, die mit den prozentualen Abfall von TRI angibt.

Ergo: pTRI=(TRI0-TRI6)/TRI0

Code: Alles auswählen
. gen pTRI6 =(((tri[mzpt==0])-(tri[mzpt==6]))/tri[mzpt==0])


Und dann kommt immer sowas hier:

Code: Alles auswählen
. gen pTRI6 =(((tri[mzpt==0])-(tri[mzpt==6]))/tri[mzpt==0])
(495 missing values generated)


Wo liegt der Fehler? Warum bekomme ich 495 fehlende Daten? Ich sollte in der Theorie bis zu 99 Datensätze haben, realistisch 85 bis 90.
Ich habe es auch schon mit sort id vorher probiert, auch das klappt nicht.

Ich erreiche zur Zeit meinen Statistikbetreuer nicht, und es brennt mir unter den Nägeln...
Hoffentlich könnt ihr mir helfen, die fehlende Variable zu erstellen.

Danke!

Re: Probleme beim erstellen einer Variablen

BeitragVerfasst: Mi 28. Mär 2012, 00:45
von daniel
Code: Alles auswählen
/* create example data */
clear
inp id mzpt tri
1             0              200           
1             6              180           
1            12              160           
1            18              140           
1            24              100           
2             0              360           
2             6              180           
2            12              170           
2            18              140           
2            24              110           
end

/* create ptri */
xtset id mzpt ,del(6)
g ptri = (tri - L.tri)/tri


Alternativ

Code: Alles auswählen
/* create data */
clear
inp id mzpt tri
1             0              200           
1             6              180           
1            12              160           
1            18              140           
1            24              100           
2             0              360           
2             6              180           
2            12              170           
2            18              140           
2            24              110           
end

/* create ptri */
bys id (mzpt) : g ptri = (tri - tri[_n - 1])/tri


Die Lösung bitte unbedingt kontrollieren, v.a. dann, wenn auf -xtset- verzichtet wird. Das kann probleme geben, falls die Zeitvariable (mzpt) für einige Fälle Lücken aufweist.


help xtset
help varlists
help by
help subscripting

Edit: Da fällt mir gerade auf, das Beispiel aus dem letzten help file scheint irgendwie recht gut zu passen:

by pid (time), sort: generate growth = (bp - bp[_n-1])/bp

Re: Probleme beim erstellen einer Variablen

BeitragVerfasst: Mi 28. Mär 2012, 08:39
von WegnerH
Hallo,
danke für deine Antwort, das kommt schon näher dran, stimmt aber noch nicht ganz.

Ich habe jetzt als konkretes Beispiel:


Code: Alles auswählen
id     mzpt   tri     pTRI
1      0      160     .
1      6      88     -.82
1      12     77     -.14
1      18     112     .31
1      24     82     -.36


Ausgerechnet werden, sollen alle Werte mit dem Bezug 0. In diesem Fall wären die von mir gewünschten Zahlen also
6: -45%;
12: -51,8%;
18: -30%;
24: -48%.

Auf jeden Fall werden erstmal alle Werte zum Zeitpunkt 0 auf 0 gesetzt (0% Abnahme) und ich kann alle Werte einzeln zusammenfassen lassen (sum ptri if mzpt==6 usw.), das ist schon ein riesen Fortschritt.

Wenn Du mir noch helfen könntest, den kleinen Fehler auszubessern, kann ich meine Studie abschließen. Danke!

Hannes

Re: Probleme beim erstellen einer Variablen

BeitragVerfasst: Mi 28. Mär 2012, 10:53
von daniel
Code: Alles auswählen
/* create data */
clear
inp id mzpt tri
1      0      160
1      6      88
1      12     77
1      18     112
1      24     82
end

/* create ptri */
bys id (mzpt) : g ptri = (tri[1] - tri)/tri[1]

Re: Probleme beim erstellen einer Variablen

BeitragVerfasst: Mi 28. Mär 2012, 12:13
von WegnerH
Hallo,
danke! Damit geht es.

Ein kleines Problem besteht aber immer noch:

Wenn ich den gepaarten T-Test durchführe erhalte ich eine Abnahme von etwa 36%.

Code: Alles auswählen
    tri0       78    156.8205    9.395866    82.98204     138.111    175.5301
   tri24   **  78    99.96154    4.845204    42.79169     90.3135    109.6096

Mittels der Zusammenfassung sum ptri if mzpt==24 erhalte ich nun 26%.

Code: Alles auswählen
    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
        ptri |        78    26.02802    35.83172       -126   69.87578


Beide Berechnungen geben aber die gleiche Anzahl an gepaarten Werten pro Messzeitpunkt aus. (ptri ist ja auch gepaart)
Kann ich das mit dem 95% Konfidenzintervall beim T-Test begründen?

Danke Dir für deine Mühen!

Re: Probleme beim erstellen einer Variablen

BeitragVerfasst: Mi 28. Mär 2012, 13:04
von daniel
Sorry, aber um da was zu zu sagen, sollte ich wohl etwas mehr im Thema sein und wissen, was genau Du mit welchen Hypotehsen aus welchem Grund wie genau untersuchst. Mir scheint bei der Datenstruktur wären wohl Panelmodelle angebracht, aber das ist ein "shot in the dark", da ich Fachfremd bin.

Re: Probleme beim erstellen einer Variablen

BeitragVerfasst: Mi 28. Mär 2012, 13:41
von WegnerH
Danke, es hat sich auch erledigt.
Du warst ein große Hilfe! :!:




(finde den Danke Button nicht)