.-
help for ^strgen^
.-

Generate string variable (lazy way) 
-----------------------------------

    ^strgen^ newstringvar ^=^ stringexp [^if^ exp] [^in^ range] 

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

^strgen^ generates a new string variable as the result of stringexp, an 
expression with a string result. The string type, whether ^str1^ ... ^str80^, 
is determined automatically as the smallest string type which will hold 
the data. 

Remarks
-------

Unless, exceptionally, ^type^ is set to one of ^str1^ ... ^str80^, which is 
not to be recommended, the generation of a string variable requires the 
specification of a string type, as in 

	^generate str^# newstringvar ^=^ stringexp

This can raise various small or large problems, as the user needs to determine
# in advance, and a # which is too small or too large can truncate data or
unnecessarily use valuable memory. 

A two-step alternative is 

	^generate str1^ newstringvar ^= ""^  
	^replace^ newstringvar ^=^ stringexp 

and another, if space is plentiful, is 

	^generate str80^ newstringvar ^=^ stringexp 
	^compress^ newstringvar 

-- as Stata will itself work out a suitable # in each case. 

^strgen^ automates the first of these two methods. 


Examples
--------

    . ^strgen srep78 = string(rep78)^
    . ^strgen frep78 = string(rep78) if foreign^
    . ^strgen nospaces = subinstr(myvar," ", "_", .)^  


Author
------

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


Also see
--------

On-line: help for @generate@
 Manual: ^[R] generate^