全部版块 我的主页
论坛 计量经济学与统计论坛 五区 数据交流中心
5075 3
2017-11-10
a,b,c两列数据,a为不同地区,b为民族,c为不同地区下的不同民族人口总数。我想生成一个变量为c中第二大民族人口数,max命令只能找到最大的第一位
二维码

扫码加我 拉你入群

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

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

全部回复
2017-11-10 21:50:47
你生成一个变量,为最大值,然后把原来变量里和最大值相等的值替换为缺省值,再用max命令对经过处理的这个变量,得到的就是第二大的值啦
gen v1=max(c)
replace c=. if c==v1
gen v2=max(c)
label  var v2 "你要的第二大的数"
或者简单方法
sum c
//看max这项,然后假设这个样本的值可能是123400个人
sum c if c<123400
//再手动看max这项,此时的最大值就是人口第二大的民族对应的人数,假设是123000个人
list if c==123000
//看到的这条记录就是人口第二大的民族
二维码

扫码加我 拉你入群

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

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

2021-3-23 22:31:36
jiuxun 发表于 2017-11-10 21:50
你生成一个变量,为最大值,然后把原来变量里和最大值相等的值替换为缺省值,再用max命令对经过处理的这个变 ...
谢谢你
二维码

扫码加我 拉你入群

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

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

2021-8-14 11:47:30
jiuxun 发表于 2017-11-10 21:50
你生成一个变量,为最大值,然后把原来变量里和最大值相等的值替换为缺省值,再用max命令对经过处理的这个变 ...
感谢!棒
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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