全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2795 4
2023-09-19
比如根据同行年度内市场占有率的中位数分成两组,当市场占有率大于同行年度市场占有率时为1,反之为0,如何设置这个新变量呢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-9-21 09:08:02
bys 年度 行业 : egen 行业年度中位数 = median(市场占有率)
g Var = 市场占有率 >= 行业年度中位数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-9-21 20:54:51
对数据按年份排序
复制代码


对每一年份的数据,计算同行的市场占有率的中位数
复制代码


生成指示变量,当观察值的市场占有率大于中位数时为1,否则为0
复制代码


确认新生成的high_mkt变量符合要求
复制代码


这样就可以用同行年度市场占有率中位数将样本分成高、低两个组了。

sort命令排序数据,by指定分组运算,egen可以计算组内统计量如中位数。
然后根据条件生成指示变量即可。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-9-23 10:52:06
给我一把斧头 发表于 2023-9-21 09:08
bys 年度 行业 : egen 行业年度中位数 = median(市场占有率)
g Var = 市场占有率 >= 行业年度中位数
好滴好滴,感谢大佬
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-12-11 19:00:11
在处理这种数据问题时,我们可以使用统计软件如Stata或Python的数据分析库Pandas。这里我将提供一个基于Pandas的示例代码,来实现你提出的需求:

首先,确保你的数据中包含行业(假设列名为`industry`)、年份(假设列名为`year`)和市场占有率(假设列名为`market_share`)。以下是用Python的步骤:

1. **导入必要的库**:我们需要Pandas库来处理数据。

   ```python
   import pandas as pd
   ```

2. **加载数据**:假定你已经有一个包含行业、年份和市场占有率的数据集。这里使用一个DataFrame `df`表示你的数据。

3. **计算中位数并分组**:

   我们将按行业和年度对市场占有率进行分组,然后计算每个组合的中位数。这一步需要创建一个新的列来存储是否大于同行年度市场占有率的结果。
   
   ```python
   df['market_share_group'] = df.groupby(['industry', 'year'])['market_share'].transform('median')
   ```

4. **根据中位数分组**:接下来,比较每个公司的市场占有率与它所在行业和年份的中位数。

   ```python
   df['above_median'] = (df['market_share'] > df['market_share_group']).astype(int)
   ```

在这个代码段中:
- `groupby(['industry', 'year'])`按行业和年度进行分组。
- `.transform('median')`计算每个分组的市场占有率中位数,并将结果应用到每行,这样我们就可以为每一行计算是否高于中位数了。
- `(df['market_share'] > df['market_share_group']).astype(int)`根据市场占有率与同行年度内市场占有率中位数的比较结果生成0或1的值。

以上步骤可以实现你提出的需求。如果你使用的是其他统计软件,如Stata、R等,可以参考其相应的数据处理和分组函数来完成类似操作。

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



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群