全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
26041 6
2018-10-23
复制代码


如上所述,变量为年份、个体名称、原始金额、0.5倍原始金额、1.5倍原始金额、满足条件的计数。
quantity计数举例:2000年中,A的原始金额为50,满足筛选条件的区间为25-75。B的原始金额为40,在区间内,则计数+1。C原始金额为10,不在区间内,则不计数。

目前想到的方法是分步骤进行,但是太麻烦了,并且数据量很大,也有很多不同的数据库需要分开进行,请问有没有更便捷的代码?感激!

二维码

扫码加我 拉你入群

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

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

全部回复
2018-10-24 07:49:08
请先 ssc install rangestat,然后试试 (Clyde Schechter 之 wonderful 建议)
复制代码
二维码

扫码加我 拉你入群

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

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

2018-10-24 09:47:24
其实昨天自己也尝试了很久,最终放弃了stata用Excel中的COUNTIF命令得到了想要的答案在这里也做一下分享吧,希望对大家有所启发
命令如下:=COUNTIFS($C$2:$C$4,">="&D2,$C$2:$C$4,"<="&E2)。但是这个命令问题在于只能一年年的拉出结果,不能像stata一样一次性分年份的结果,并且Excel这个会有重复值,即每次生成的计数会把自身也算进去一次,最终得到的结果需要-1才是预期值。

再次感谢大神的帮助!!
附件列表
1.png

原图尺寸 26.12 KB

1.png

二维码

扫码加我 拉你入群

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

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

2018-10-24 16:49:02
黃河泉 发表于 2018-10-24 07:49
请先 ssc install rangestat,然后试试 (Clyde Schechter 之 wonderful 建议)
今天做到数据处理的最后一个步骤了,又卡了一天了,十分需要您的帮助,再次感谢!!这次我用excel也做不出来了,唉。。
模拟数据如下:
复制代码
需要生成新变量的要求:
①根据size从高到低排序,取前1/4的值为目标区间;
②计算cash栏中比该企业数值高、并且在size前1/4区间的个数。
本来是想整个数据库一起计算,但是如果把年份加进去似乎更复杂,所以就先一年年做,最后合并。
先谢过您了!!
二维码

扫码加我 拉你入群

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

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

2018-10-24 19:40:47
skyler1221 发表于 2018-10-24 16:49
今天做到数据处理的最后一个步骤了,又卡了一天了,十分需要您的帮助,再次感谢!!这次我用excel也做不出 ...
晚上同样用excel和Python解决了这个问题。。。
Excel命令如下:=COUNTIFS($C$2:$C$21,">"&C2,$D$2:$D$21,"<=8000",$D$2:$D$21,">=7600")
二维码

扫码加我 拉你入群

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

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

2018-10-24 20:30:43
你的问题没有说清楚
2000年B的原始是40,但是B 同一行也有0.5倍,1.5倍,你为什么用的是A的区间?

2001年B,是28 为什么不在区间呢?

你的区间到底是什么,没有看明白
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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