799 5

[编程问题求助] stata 如何在组内分组 [推广有奖]

  • 4关注
  • 0粉丝

已卖:41份资源

本科生

93%

还不是VIP/贵宾

-

威望
0
论坛币
1505 个
通用积分
4.0718
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
7418 点
帖子
54
精华
0
在线时间
174 小时
注册时间
2014-11-17
最后登录
2024-3-20

楼主
秋深了夜明了 学生认证  发表于 2023-9-9 21:18:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位坛友,有这样一组数据,我想在根据Names分组后,再按照Universitys进行分组,下列数据已经根据egen NameID = group(Names)进行了分组,如果我按照代码egen NameUnivID =  group(Names Universitys)运行后,不是我想要的结果,因为它不是组内分组,我想要的效果是姓名为Bob的人按照所属的高校重新分组,也就是Bob univ1分组为1而不是3,Bob univ3分组为2而不是4。如果我按照下边这两个命令总是报错,所以不知道问题出在哪里。
  1. by NameID:gen NameUnivID = group(Universitys)
复制代码
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str10(Names Universitys year ID) float(NameID NameUnivID)
  4. "Apple" "univ1" "2002" "Y2002N002" 1 1
  5. "Apple" "univ1" "2001" "Y2001N001" 1 1
  6. "Apple" "univ2" "2006" "Y2006N007" 1 2
  7. "Apple" "univ2" "2005" "Y2005N001" 1 2
  8. "Apple" "univ2" "2008" "Y2008N001" 1 2
  9. "Apple" "univ2" "2007" "Y2007N005" 1 2
  10. "Bob"   "univ1" "2007" "Y2007N006" 2 3
  11. "Bob"   "univ1" "2006" "Y2006N009" 2 3
  12. "Bob"   "univ3" "2004" "Y2004N005" 2 4
  13. "Bob"   "univ3" "2002" "Y2002N003" 2 4
  14. "Bob"   "univ3" "2003" "Y2003N001" 2 4
  15. "Bob"   "univ4" "2008" "Y2008N001" 2 5
  16. "Bob"   "univ4" "2012" "Y2012N009" 2 5
  17. "Bob"   "univ4" "2010" "Y2010N010" 2 5
  18. "Candy" "univ5" "2002" "Y2002N003" 3 6
  19. "Candy" "univ5" "2001" "Y2001N001" 3 6
  20. "Candy" "univ5" "2003" "Y2003N002" 3 6
  21. "Candy" "univ6" "2004" "Y2004N006" 3 7
  22. end
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata Universitys University Universit

沙发
秋深了夜明了 学生认证  发表于 2023-9-9 21:24:53
屏幕截图 2023-09-09 211515.png

藤椅
秋深了夜明了 学生认证  发表于 2023-9-10 10:01:27
在stata网站找到一个答案,分享给大家https://www.statalist.org/forums ... roups-within-groups

板凳
momingqimiao7 在职认证  学生认证  发表于 2023-9-10 13:55:33
提示 not sorted ,需要把 by 改成 bys
group应该搭配 egen

bys NameID: egen NameUnivID = group(Universitys)

报纸
momingqimiao7 在职认证  学生认证  发表于 2023-9-10 13:57:37
不好意思,忽略我的回答

地板
oliyiyi 发表于 2023-9-11 14:18:36
  1. forvalues i = 1/`r(max)' {
  2.   preserve
  3.     keep if NameID == `i'
  4.     bysort NameID: egen NameUnivID = group(Universitys)
  5.   restore
  6. }
复制代码

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

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