生成分类变量
Generating categorical variable
在我的Stata数据集中,“alternative”变量由4种模式组成,包括码头、私人、海滩和包租。
我想生成新变量 y
如下:
我们将模型分解为三个备选方案并对备选方案进行排序,y
= 0 如果从码头或海滩钓鱼,y
= 1 如果从私人船上钓鱼,y
= 2 如果租船捕鱼。
我试图通过查看此网站中的 thetas 来做到这一点:
stata tips但是我解决不了
注意:我从数据集中看不懂。我在生成变量时收到与变量类型相关的错误我从网站下载数据集 https://www.stata-press.com/data/musr/musr.zip 数据名称是 mus15data
数据集中的变量如下:
这里,“模式”变量是备选方案。
如果我没理解错的话,这是
gen y = 0 if inlist(1, dbeach, dpier)
* gen y = 0 if dbeach == 1 | dpier == 1
replace y = 1 if dprivate == 1
replace y = 2 if dcharter == 1
许多其他解决方案也是可能的。再来一张。
gen y = cond(inlist(1, dbeach, pier), 0, 2 * (dcharter == 1) + (dprivate == 1))
如果所有这些变量都只为 0 或 1(并且从不丢失),则可以进行一些简化。
只使用您认为清楚并且可以向其他人解释的代码。
我假设码头、海滩、私人、包机是相互排斥的。我没有检查数据集。
在我的Stata数据集中,“alternative”变量由4种模式组成,包括码头、私人、海滩和包租。
我想生成新变量 y
如下:
我们将模型分解为三个备选方案并对备选方案进行排序,y
= 0 如果从码头或海滩钓鱼,y
= 1 如果从私人船上钓鱼,y
= 2 如果租船捕鱼。
我试图通过查看此网站中的 thetas 来做到这一点: stata tips但是我解决不了
注意:我从数据集中看不懂。我在生成变量时收到与变量类型相关的错误我从网站下载数据集 https://www.stata-press.com/data/musr/musr.zip 数据名称是 mus15data
数据集中的变量如下:
这里,“模式”变量是备选方案。
如果我没理解错的话,这是
gen y = 0 if inlist(1, dbeach, dpier)
* gen y = 0 if dbeach == 1 | dpier == 1
replace y = 1 if dprivate == 1
replace y = 2 if dcharter == 1
许多其他解决方案也是可能的。再来一张。
gen y = cond(inlist(1, dbeach, pier), 0, 2 * (dcharter == 1) + (dprivate == 1))
如果所有这些变量都只为 0 或 1(并且从不丢失),则可以进行一些简化。
只使用您认为清楚并且可以向其他人解释的代码。
我假设码头、海滩、私人、包机是相互排斥的。我没有检查数据集。