Bookmark and Share

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, is already up and running.

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

Re: st: Questions about interaction terms using #.

From   Ulrich Kohler <>
Subject   Re: st: Questions about interaction terms using #.
Date   Wed, 09 Nov 2011 09:10:31 +0100

Am Dienstag, den 08.11.2011, 20:35 +0000 schrieb YangSP:
> Dear Statalister, 
> I need to generate interaction terms using exporter and year in a standard gravity model. 
> For example, my data is listed as follows,
> year  exporter  importer  volume  GDP_exporter  GDP_importer  Distance ... ...
> 1995    A          B       1000       100          500             xxx
> 1996    A          B       2000       200          600             xxx
> 1997    A          B       3000       300          700             xxx
> 1998... 
> My two questions are:
> Q1: What is the difference between "i.exporter*year" and "exporter#year"? I thought they were the same thing, but they are not because of the different resluts from them. Someone who can tell me what does each of them exactly mean.

I think Stata interprets the asterisk in  "i.exporter*year" as a wild
card character, i.e. you ask for creating dummy variables for all
variables whose names start with "exporter" and end with "year".
"exporter#year", forms all twoway interactions between dummy variables
of the variables exporter and year. It is shorthand for
"i.exporter#i.year". Perhaps want you really want is
"i.exporter##i.year", which forms all the interactions _and_ dummies for
the constituent variables (aka main effects).

> Q2: If a command, e.g. qreg, does not support "exporter#year", how can I generate the interaction terms using "gen"? 

See help -xi- or use first principles:

. sysuse auto, clear
. tab rep78, gen(rep78_)
. tab for, gen(for_)
. foreach var1 of varlist for_* {
.	foreach var2 of varlist rep78_* {
.		gen `var1'`var2' = `var1'*`var2'
.	}

*   For searches and help try:

© Copyright 1996–2015 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index