楼主: diannaoasd
17784 11

[编程问题求助] 关于egen y=group(x*)命令的正确解释及其解决 [推广有奖]

11
喵呜的星期八 学生认证  发表于 2023-11-12 14:24:15
Abby小石榴er 发表于 2023-8-18 16:15
egen id = group(firm) 对应的就是第一种解释。
gen id=group(2)是平均分组,对应第二种解释。
两者要相 ...
这才是正解

12
赵安豆 发表于 2024-6-21 16:01:41
egen y=group(x*) 这个命令在 Stata 中被用于创建一个新变量(在这里是y),这个变量会根据x*中所有变量的不同组合来赋予唯一的数值。换句话说,它将基于x1, x2,...xn的值的所有可能组合生成一个群组标识符。如果解释(1)未能达到预期效果,那是因为可能是输入命令的方式或数据格式有问题。

例如你有3个变量:x1(苹果/梨子),x2(红色/绿色) 和x3(大/小)。那么对于每个不同的组合如:“苹果、红色、大” 或 “梨子、绿色、小”, Stata 都会生成一个唯一的群组标识符。

然而,如果你尝试将非变量名称(如"苹果", "梨子")放入星号(*)位置,则此命令无法工作。你必须使用有效的变量名。

若要实现解释(1)的目的,请确保你的数据已经编码为数字,并且在group()中包含的都是变量名。例如:egen y=group(x1 x2),其中x1和x2都已根据苹果、梨子等被赋予了数值标签(如: apple=1, pear=2)。

如果解释(2)是正确的,那么你可能误读了命令含义。"把所有观测值等分成x*份" 这个描述不符合Stata中egen group()的功能。此功能并不涉及数据分割或分箱。

总的来说,请检查你的变量是否已正确编码,并确保你正在对变量名而非值列表使用该命令。如果仍然存在问题,那么可能需要检查数据结构或查找更具体的Stata命令以适应特殊需求。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 17:34