楼主: hhhhhhishfjrj
3187 2

[面板数据求助] no; dataset in memory has changed since last savedstata分组条件回归,回归系数如 [推广有奖]

  • 0关注
  • 0粉丝

大专生

65%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
119 点
帖子
5
精华
0
在线时间
117 小时
注册时间
2019-5-3
最后登录
2024-5-15

楼主
hhhhhhishfjrj 学生认证  发表于 2023-12-28 22:29:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求助!  我的数据集是有10个城市群,然后想求这十个城市群中夜间灯光排名前两位城市的灯光与排名的系数(位序规模法),我使用以下命令后: statsby, by(year group): reg lnSINGLE lnr if r <=2

出现:no; dataset in memory has changed since last saved
请问是什么原因呢?求解答!感谢
二维码

扫码加我 拉你入群

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

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

关键词:dataset Changed stata分组 memory change Stata statsby

沙发
=Mia= 学生认证  发表于 2024-6-29 23:00:28
option里加个clear

藤椅
赵安豆 发表于 2024-8-17 00:09:41
在Stata中进行分组回归,尤其是当你想对多个城市群中的城市分别进行回归时,确实需要一些特定的步骤。你提到的是位序规模法(Rank-Size Rule)的一种应用,即通过分析夜间灯光强度与城市排名之间的关系来研究城市的经济活动。

你的命令似乎是在尝试使用`statsby`命令按年份和城市群分组对数据进行汇总计算,但具体细节可能需要调整才能正确执行你想要的操作。下面是一个简化且更明确的步骤示例:

1. **排序数据**:首先确保每个城市群内的城市按照夜间灯光强度(或你想用的其他指标)从高到低排序。
   
   ```stata
   bysort group: sort lnSINGLE
   ```

2. **生成排名变量**:为每个城市群内的城市分配一个基于`lnSINGLE`值降序排列的排名。

   ```stata
   bysort group (lnSINGLE): gen rank = _n
   ```

3. **选择前两名的城市进行回归**:这一步需要筛选出每组中排名1和2的城市,然后对这些城市的数据做回归。这里可以使用`if`条件语句来实现。

   ```stata
   foreach grp in 1/10 { // 假设有10个不同的城市群编号从1到10
       qui keep if group == `grp' & rank <= 2
       qui reg lnSINGLE lnr if rank == 1, noconstant
       matrix b`grp' = e(b)
   }
   ```

但是,上述步骤在实际应用中可能需要进一步的调整以适应你的具体数据结构和需求。特别是如果你希望在同一命令中针对不同年份的数据进行分组回归,并汇总所有结果,你可能需要使用更高级的循环结构或自定义程序来处理。

如果`statsby`的目的是为了汇总计算后的统计量(如回归系数),那么你可能需要在`reg`命令后使用`eststo`保存每次迭代的结果,然后在所有循环结束后用`esttab`或其他方式输出结果。这样可以确保数据集中的变化不会影响到已经执行过的回归结果。

最后,请根据你的实际需求调整上述示例代码中的变量名和参数,以确保正确地反映了你想要研究的位序规模关系。如果遇到具体问题或需要进一步指导,提供更详细的数据结构信息会很有帮助。

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



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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-21 22:57