Code anpassen für Matrix

Allgemeine Fragen rund um Statistik mit Stata.

Code anpassen für Matrix

Beitragvon andrea1988 » Mo 24. Dez 2012, 01:36

Hallo

Ich bräuchte Hilfe bei der Anpassung des folgenden Codes:

[code]tempname rmat
local nvar : word count MCHealth CCHappy MCSex CAge MInc MUrban
matrix `rmat' = J(`nvar',4,.)
local i 0

foreach v of varlist MCHealth CCHappy MCSex CAge MInc MUrban {
local ++i
ttest `v' if wave==2, by (sportsclub)
matrix `rmat'[`i', 1] = (r(mu_1)*r(N_1)+r(mu_2)*r(N_2))/(r(N_1)+(r(N_2)))
matrix `rmat'[`i', 2] = r(mu_1)
matrix `rmat'[`i', 3] = r(mu_2)
matrix `rmat'[`i', 4] = r(p)
}
matrix colnames `rmat' = all nosport sport pvalue
matrix rownames `rmat' = MCHealth CCHappy MCSex CAge MInc MUrban
matrix list `rmat'[code]

Der Code funktioniert bisher, aber nun müsste ich eine weitere Variable einfügen, welche nicht in der Wave 2 keinen Wert hat. Deshalb müsste ich für diese Variable mit dem Namen "MEdu" die Daten aus der 1. Wave in dieselbe Matrix wie oben einfügen. Könnte mir jemand einen Tipp geben, wie ich das am besten umsetzen könnte?

Liebe Grüsse
Andrea
andrea1988
 
Beiträge: 4
Registriert: Mo 24. Dez 2012, 01:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Code anpassen für Matrix

Beitragvon daniel » Di 25. Dez 2012, 12:37

Der code ist ohenhin nicht allzu "allgemein". Warum also nicht einfach nur eine minimale Anpassung für diesen Fall vornehmen. Die Logik ist, dass alle Variablen nach MUrban aus der ersten Welle genommen werden. Ich habe zudem die Variablenliste in ein local gepackt, weil Du die im code mehrmals neu tippst.

Code: Alles auswählen
tempname rmat
loc varlist MCHealth CCHappy MCSex CAge MInc MUrban MEdu
local nvar : word count `varlist'
matrix `rmat' = J(`nvar',4,.)
local i 0
loc wave 2

foreach v of loc varlist {
local ++i
if (`i' >= `nvar') loc wave 1
qui ttest `v' if wave==`wave', by (sportsclub)
matrix `rmat'[`i', 1] = (r(mu_1)*r(N_1)+r(mu_2)*r(N_2))/(r(N_1)+(r(N_2)))
matrix `rmat'[`i', 2] = r(mu_1)
matrix `rmat'[`i', 3] = r(mu_2)
matrix `rmat'[`i', 4] = r(p)
}
matrix colnames `rmat' = all nosport sport pvalue
matrix rownames `rmat' = `varlist'
matrix list `rmat'
Zuletzt geändert von daniel am Di 25. Dez 2012, 15:10, insgesamt 1-mal geändert.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Code anpassen für Matrix

Beitragvon andrea1988 » Di 25. Dez 2012, 14:08

Besten Dank! Der Code funktioniert nun einwandfrei.

Liebe Grüsse
Andrea
andrea1988
 
Beiträge: 4
Registriert: Mo 24. Dez 2012, 01:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Statistik allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste

cron