.- 
help for ^expandby^ 
.- 

Duplicate observations by variable
----------------------------------

	^expandby^ # [^if^ exp] [^in^ range] ^, by(^byvar^)^ [  ^miss^ing
	^sort^by^(^sortvar^) usesortmiss first g^enerate^(^newvar^)^ ] 

Description
-----------

^expandby^ replaces one observation in each group of the current dataset 
with # copies of the observation. # should be an integer which is 2 or more. 
Groups are defined by the variable specified in ^by( )^. 


Remarks 
-------

By default the last observation in each group is copied. This will in general 
be arbitrarily selected unless the ^sortby( )^ option is specified. For 
example, ^sortby(time)^ means that the last observation in each group 
according to ^time^ will be copied. By default missing values of the 
by variable and of the sorting variable are ignored. These defaults 
can be overridden. 


Options
-------

^by(^byvar^)^ specifies a variable defining groups and is a required 
    option. If byvar takes on values 1 and 2, two groups are defined with 
    those values. 

^miss^ing specifies that missing values of byvar are also used to  
    define a group. By default observations for which byvar is missing are
    ignored. 

^sortby(^sortvar^)^ specifies that observations should be sorted by 
    sortvar within byvar. By default the observation with the last (highest) 
    non-missing value of sortvar will be selected within each group of byvar.

^first^ specifies that the observation with the first (lowest) value of 
    sortvar should be selected within each group of byvar. 

^usesortmiss^ specifies that observations of sortvar which are missing 
    should be used in sorting. By default such observations are ignored. 

^generate(^newvar^)^ specifies a new variable to be generated which  
    marks newly created observations. newvar is 1 for such observations 
    and 0 otherwise. This allows subsequent commands such as ^edit^ or 
    ^list^ to be issued with the condition ^if^ newvar. 


Examples
--------

Suppose we have records on individuals with identifiers ^id^ for distinct 
times ^time^. 

The latest record for each individual can be copied by 

	^. expandby 2 , by(id) sort(time) g(new)^  

With these options, any observations for which ^id^ is missing or 
for which ^time^ is missing are ignored, and will not be copied. 

The resulting observations can be edited by 

	^. edit if new^
	
	
Author
------

         Nicholas J. Cox, University of Durham, U.K.
         n.j.cox@@durham.ac.uk
	 
	 
Acknowledgments
---------------

         John Moran suggested this problem.


Also see
--------

 Manual:  [R] expand
 On-line:  help for @expand@


