Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: problem with marksample touse
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: problem with marksample touse
Date
Wed, 23 May 2012 21:57:38 +0100
I've no idea what -shamhaz- is, and you don't say. But
Question 1.
if `touse'
is, as you say, exactly equivalent to
if `touse' == 1
in your case. Let's backtrack.
marksample touse
creates a temporary variable `touse' whose only possible values are 0 and 1.
If you follow through, `touse' can therefore only be evaluated as true
(non-zero) if -`touse' is 1. For more on this, see (e.g.)
FAQ . . . . . . . . . . . . . . . . . . . . . . . True and false in Stata
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
2/03 What is true and false in Stata?
http://www.stata.com/support/faqs/data/trueorfalse.html
To find out what -marksample- does, don't search the web, look at the
help! It says all you need to know. Even if there are no -if- or -in-
qualifiers (not options) on a command line, -marksample- still marks
out as 0 observations that contain missing values for any variables
named in the command (unless -novarlist- is specified with
-marksample-).
By the way, your only reference here is "the internet" and I see no
context, but if -marksample- is explained without mentioning its check
for missing values, then that's a pretty lousy explanation.
Question 2.
A consequence of -syntax- is that the local macro `weight' is empty,
i.e. equal to "", if and only if no weights were specified on the
command line. Weights are not considered to be options. You seem to be
understanding this, just misusing terminology in how you describe it.
Nick
On Wed, May 23, 2012 at 9:31 PM, Xuan Zhang <[email protected]> wrote:
> In the shamhaz ado file, there are several lines like these:
>
> if "`weight'"=="" {
> if trim("``opt2''")=="" qui logit `tmplhs' ``rhsvars'' if `touse' &
> (`tmplhs'==0 | (`tmplhs'==1 & L.`tmplhs'==0 & L.`touse'==1))
>
> Question1
> I have problem understanding what's meaning of if `touse'. Is it a
> short version of if 'touse'==1? I mean after the syntax command, what
> exactly marksample do to my data? I searched some note on the internet
> and one of them says "The marksample touse ensures that only
> observations satisfying the if or in clauses are used." but since
> there is no if option in the ado code, does that mean that every
> observation in my data is marked as 1? really confused.
>
> syntax varlist(ts) [if] [in] [aweight/] [, *]
> marksample touse
>
> Question 2
> weight is a macro that STATA keeps it for itself, right? I guess in
> the first line of the code, if "`weight'"=="" means if there is no
> option after the logit command, then quietly logit left hand side
> variable with the right hand side variable without the option. But I'm
> not sure about that.
>
*
* 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/