已有 556 次阅读 2010-5-8 10:56 |个人分类:Stata|系统分类:科研笔记|关键词:SAS, STATA
In SAS operators can be symbols or mnemonic equivalents such as: & or and For many situations in SAS order doesn't matter: <= can be: =< and >= can be: =>
Most operators are the same in Stata as in SAS, but in Stata operators do not have mnemonic equivalents. For example, you have to use the ampersand ( & ) and not the word "and".
This works: var_a >= 1 & var_b <= 10 where this does not: var_a >= 1 and var_b <= 10
These are the operators that are different in Stata: Symbol Definition
>= greater than or equal to
<= less than or equal to
== equality (for equality testing)
!= does not equal
Note: Symbols have to be in the order shown: " >= " not " => " .
/* this is a comment */ * this is also a comment ;
/* this is a comment */ * this is also a comment // this is a comment as well To continue a command to the next line (line continuation): /// you can comment here as well For example: list id state gender age income /// race income date
Range of values: if 1 <= var_a <= 10 or: if var_a in(1,2,3,4,5,6,7,8,9,10) or a list of character values: if state in("NC","AZ","TX","NY","MA","CA","NJ")
if var_a >= 1 & var_a <= 10 or: if inrange(var_a,1,10) or: if inlist(var_a,1,2,3,4,5,6,7,8,9,10) or a list of string values: if inlist(state,"NC","AZ","TX","NY","MA","CA","NJ") Stata has a limit of 10 arguments to inlist() (which includes the string variable) when the arguments are strings. More than one variable can be specified.
Referencing multiple variables at a time:
Say the following variables are in a data file in the order shown: var1 var2 var3 age var4 var5 Then you could code them as: var1--var5 To SAS, this means "all variables that are positionally between var1 and var5," which would include the variable age.