# Re: st: corr_svy & covariance matrix for survey data

 From Steven Samuels To statalist@hsphsun2.harvard.edu Subject Re: st: corr_svy & covariance matrix for survey data Date Thu, 2 Oct 2008 14:50:30 -0400

In addition, does anyone know how to use the matrix I am trying to obtain above to obtain a covariance matrix that can be easily transferred to Mplus or LISREL for CFA and SEM analyses?

In Stata V 10 Version 10.1 corr_svy does not return the proper correlation matrix, at least for p>2 dimensions.

The following code should get you the covariance matrix in a list. I don't know anything about the programs you want to feed into, so you will have to manipulate the list yourself to suit their requirements.

********************* CODE BEGINS**********************
* Create covariance matrix for survey data
*******************************************************
sysuse auto,clear
svyset _n [pweight=rep78]
gen wt000=weight/1000 //standardize to avoid large values

********************************************************
* put variables into a macro
*******************************************************
local cvars mpg wt000 trunk

*******************************************************
* Get means
*******************************************************
svy: mean `cvars' //outputs weighted means in _b[varname]

*******************************************************
* Get n^2 covariance terms
*******************************************************
foreach w of varlist `cvars' {
foreach v of varlist `cvars' {
gen c_`w'_`v' = ((`w' - _b[`w'])^2)*((`v' - _b[`v'])^2)
}
}

format c_* %20.5fc

*******************************************************
* Get Covariances
*******************************************************
svy: mean c_*
format c_* %15.5fc

matrix clist = vec(e(b))
matrix list clist
*****************CODE ENDS*************************

On Oct 1, 2008, at 9:57 PM, Ishtar Govia wrote:

Dear List,

I am using Stata 10/SE 10.1 for Macs. I have two questions. One concerning the --corr_svy-- module and error messages I have been getting, the second concerning how to obtain a covariance matrix for complex survey sample data, within Stata.

I am working with a complex survey sample dataset and am using Stata for some preliminary data analyses (univariate and multivariate checks for normality, efas) before moving to Mplus for SEM modeling. I installed the --corr_svy-- module from within Stata by typing "ssc install corr_svy"

However, in my first attempt below, I got the following error message:

svy, subpop (if race3cat==2 & sex==1 & (riwyes==1 & riwyes <.)): corr_svy lesscurt lessresp poorserv notsmart actfraid thkdisho actbettr callnmes trethara follstor, pw obs sig

corr_svy is not supported by svy with vce(linearized); see help svy estimation for a list of Stata estimation commands that are supported by svy
r(322);

I then attempted to reset the weight and design variables, and run the --corr_svy--, following the example in the "help" for the -- corr_svy--, excluding my subpop specification.

. svyset clust [pweight=wgtcentriw], strata (stratum) ||_n
Note: stage 1 is sampled with replacement; all further stages will be ignored

pweight: wgtcentriw
VCE: linearized
Single unit: missing
Strata 1: stratum
SU 1: clust
FPC 1: <zero>

. corr_svy lesscurt lessresp poorserv notsmart actfraid thkdisho actbettr callnmes trethara follstor, pw obs sig

This worked--but it didn't include my subpop specification. I then tried the same thing with my subpop specifcation and it DIDN'T work. Any ideas on how to use the corr_svy module to obtain the correlation matrix, accounting for the weight and design variables and allowing me to restrict my analyses to my subpop of interest?

corr_svy lesscurt lessresp poorserv notsmart actfraid thkdisho actbettr callnmes trethara follstor [pweight=wgtcent], strata (stratum) psu(clust) subpop(if race3cat==2 & sex==1 & (riwyes==1 & riwyes <.)) pw obs sig print(10) star(5)

subpop() does not contain a valid varname
r(198);

. svyset clust [pweight=wgtcentriw], strata (stratum) ||_n
Note: stage 1 is sampled with replacement; all further stages will be ignored

pweight: wgtcentriw
VCE: linearized
Single unit: missing
Strata 1: stratum
SU 1: clust
FPC 1: <zero>

. corr_svy lesscurt lessresp poorserv notsmart actfraid thkdisho actbettr callnmes trethara follstor, pw obs sig

In addition, does anyone know how to use the matrix I am trying to obtain above to obtain a covariance matrix that can be easily transferred to Mplus or LISREL for CFA and SEM analyses?

Ishtar Govia
ishtargovia@gmail.com

*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
```*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```