Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
"Sarah Edgington" <sedging@ucla.edu> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
st: RE: programatically dropping variables that don't actually vary |

Date |
Thu, 9 Aug 2012 12:03:18 -0700 |

Jenn, There are a variety of ways you might want to do this. What I would do is something like the following: foreach var of varlist dummy1-dummyn { sum `var', meanonly if r(mean)==0 { drop `var' } } This cycles through each of your variables (substitute your actual variable list for "dummy1-dummyn"). For reach variable it calculates the mean. The drop statement in the if loop only gets executed if the value stored in r(mean) is 0. -Sarah -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Earl, Jennifer Suzanne - (jenniferearl) Sent: Thursday, August 09, 2012 11:46 AM To: statalist@hsphsun2.harvard.edu Subject: st: programatically dropping variables that don't actually vary Hi, I am working with a large number of dummy variables and using collapse to create derivative datasets that are the frequencies of 1's for each dummy variable (a couple of hundred through foreach loops). I want to drop any of the dummy variables that never had a 1 (so mean(dummy1)==0, or max(dummy)==0) but it seems that drop only lets you use an if statement to drop observations, but not an if statement to drop variables. My best guess is to use a list means to create a list of the variable names that can be stored in a local and then fed into a drop command, but can't seem to make that work either since I only want the list of variable names that have a mean of 0. Or maybe transpose the dataset, drop then since the variables are now observations, and transpose back? Another solution would be save through StatTansfer and use it's drop constants feature, and then bring the data back in, but there must be an easier way. Any ideas? Cheers, Jenn *********************************** Jennifer Earl Professor of Sociology Social Sciences 421 University of Arizona Tucson, AZ 85721-0027 Phone: (520) 621-3296 *********************************** * * 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/

**Follow-Ups**:**Re: st: RE: programatically dropping variables that don't actually vary***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: programatically dropping variables that don't actually vary***From:*"Earl, Jennifer Suzanne - (jenniferearl)" <jenniferearl@email.arizona.edu>

- Prev by Date:
**Re: st: left-truncated panel count data model** - Next by Date:
**st: RE: Re: RE: Re: Skilmack across group** - Previous by thread:
**Re: st: programatically dropping variables that don't actually vary** - Next by thread:
**Re: st: RE: programatically dropping variables that don't actually vary** - Index(es):