[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: Non-parametric tests for survey data? (e.g., Kruskal-Wallace)

From   "Newson, Roger B" <>
To   <>
Subject   st: RE: Non-parametric tests for survey data? (e.g., Kruskal-Wallace)
Date   Wed, 11 Feb 2009 10:50:09 -0000

One possibility might be to use the -somersd- package, downloadable from
SSC using the -ssc- command in Stata. The -somersd- package generates
confidence intervals for a wide range of rank statistics (particularly
Somers' D and Kendall's tau-a), and can be used with
sampling-probability weights (pweights) and/or the -svy:- prefix. It
comes with 3 .pdf manuals, which you can get when you download the

I hope this helps.

Best wishes


Roger B Newson BSc MSc DPhil
Lecturer in Medical Statistics
Respiratory Epidemiology and Public Health Group
National Heart and Lung Institute
Imperial College London
Royal Brompton Campus
Room 33, Emmanuel Kaye Building
1B Manresa Road
London SW3 6LR
Tel: +44 (0)20 7352 8121 ext 3381
Fax: +44 (0)20 7351 8322
Web page:
Departmental Web page:

Opinions expressed are those of the author, not of the institution.

-----Original Message-----
[] On Behalf Of Michael I.
Sent: 10 February 2009 21:25
Subject: st: Non-parametric tests for survey data? (e.g.,

I don't see any procedures for doing non-parametric tests (aside from 
chi-square in svy: tab) with complex survey data (stratified, unequal 
probabilities of selection). I am particularly looking for tests of 
difference in ordinal dependent variables across k groups (k > 2). 
Kruskall-Wallace is the most obvious test, but only available for 
non-survey data. 

I assume that these procedures are not available because (a) it's not 
clear what to do with weights in nonparametric analyses anyway (which I 
infer partly from the fact that none of Stata's nonparametric procedures

take weights), (b) because there's no theory about whether/how they 
should work, and/or (c) because nobody has gotten around to it yet.

I'm looking for suggestions.

One possibility that comes to mind is to generate ranks using -egen- and

analyze using -svy: mean- or -svy: reg- (I'd use one-way ANOVA if 
somebody could explain how to do it with -svy- commands). I could also 
do -svy: intreg- for the variables that represent ranges underlying 
continuous variables (since most of my ordinal variables do represent 
well-defined but unequal-sized ranges of underlying continuous 
variables, e.g., 1 = "> 1", 2 = "2-4" 3 = "5 or more"), but that would 
require -intreg- to be robust to floor effects, and I doubt that it is 
(since the method assumes an underlying Normal distribution). (I guess 
-mlogit-, -ologit- and -gologit2- are also possibilities.)


Michael I. Lichter, Ph.D.
Research Assistant Professor & NRSA Fellow
UB Department of Family Medicine / Primary Care Research Institute
UB Clinical Center, 462 Grider Street, Buffalo, NY 14215
Office: CC 125 / Phone: 716-898-4751 / E-Mail:

*   For searches and help try:

*   For searches and help try:

© Copyright 1996–2022 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index