-1
假设我有一个分类变量,例如表格中的国家/地区列。
如何快速添加每个类别的虚拟变量 - WITH A NAME NAME?在一个命令中将字符串变量更改为一组分类变量
所以,如果列是针对国家的,那么这个人是否居住在美国的变量将被称为美国而不是country16
什么的。
假设我有一个分类变量,例如表格中的国家/地区列。
如何快速添加每个类别的虚拟变量 - WITH A NAME NAME?在一个命令中将字符串变量更改为一组分类变量
所以,如果列是针对国家的,那么这个人是否居住在美国的变量将被称为美国而不是country16
什么的。
这是很容易的:
/* 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获得。
@丹这帮助你吗? –
小心:带空格的国家名称不会是合法的变量名称。 ''美国'''会是这样的。 –