2017-11-10 135 views
-1

假设我有一个分类变量,例如表格中的国家/地区列。
如何快速添加每个类别的虚拟变量 - WITH A NAME NAME?在一个命令中将字符串变量更改为一组分类变量

所以,如果列是针对国家的,那么这个人是否居住在美国的变量将被称为美国而不是country16什么的。

+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获得。

+0

@丹这帮助你吗? –

相关问题