在一个命令中将字符串变量更改为一组分类变量

时间:2017-11-10 20:44:39

标签: regression stata dummy-variable

假设我有一个分类变量,例如表格中的国家/地区列 如何为每个类别快速添加虚拟变量 - 具有相应的名称?

因此,如果该列是针对国家/地区的,那么该人是否居住在美国的变量将被称为USA而不是clc; clear; x = linspace(-3, 6); % (similar to -3:0.09:6) y = (x.^4)-(4*(x.^3))-(6*(x.^2))+15; plot(x,y) 或其他内容。

1 个答案:

答案 0 :(得分:0)

这很简单:

/* Make some fake data */
sysuse auto, clear
gen make_only = subinstr(lower(word(make,1)),".","",.)

/* Create meaningful dummies */
levelsof make_only, clean local(makes)
foreach m of local makes {
    gen `m' = cond(make_only=="`m'",1,0)
}

但是,使用因子变量表示法可能更容易:

sencode make_only, label(make_only) replace
reg price i.make_only
list make price if make_only=="amc":make_only

回归输出将被很好地标记,您不会创建额外的变量,并且很容易引用特定的值。

sencode由Roger Newson撰写,可从SSC获得。