按组计数并崩溃

未来的

我在Stata中有一个数据集,想按组(loc_ID)和年份进行计数我使用了以下两行代码:egen count_obsv = tag(loc_ID year)

这增加了一个计数器,以我的数据集(count_obsv),这是1(以及0对于具有相同组合的每一个元素loc_IDyear)为每一个新的组合。然后我用:

collapse (sum) count_obsv, by(loc_ID year)

根据各种Stata论坛帖子,这应导致例如:

loc_ID  year  count_obsv
 1      2000    342
 1      2001     23
 2      2008     23
...

但是我的输出是:

loc_ID  year  count_obsv
 1      2000     1
 1      2001     1
 2      2008     1
...

我在总结什么错?

尼克·考克斯

调用命令tag()功能时egen,将值1分配给任意数量的观察值中的一个,并为指定变量赋予相同的不同值,将0分配给所有其他值。然后,当您sum在同一组观测中要求这些值的时,您将获得一个1和任意多个0的组和,因此每个和必定为1。

您的问题可能是从其他按预期工作的计算中抽象出来的,但是如果您想要的只是一个具有频率的数据集,那么

contract loc_ID year 

会为你做的。如果您还想要一个包含其他变量汇总的数据集,则需要更多类似

collapse (count) count=foo (mean) mean=foo (sd) sd=foo, by(loc_ID year) 

我怀疑是否有任何Statalist帖子都声明了其他情况。(我tag()在1999年写过文章,但我并没有意识到这是一种误解。)有一个相关但可以说tag()是有用的独特问题,它计算着独特的价值(通常称为独特价值)。

sysuse auto, clear 
egen tag = tag(foreign rep78) 
egen distinct = total(tag), by(foreign) 
tabdisp foreign, c(distinct) 

将是一种获取rep78类别内不同值的数量的方法foreign

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL按组串联计数

来自分类Dev

使用dplyr按组获取累计计数

来自分类Dev

sql从行开始按组计数

来自分类Dev

熊猫中按组的价值计数

来自分类Dev

DAX按组计数最大值

来自分类Dev

夏季不适用,按组计数

来自分类Dev

在水晶报表中按组计数

来自分类Dev

按计数过滤sphinxql组

来自分类Dev

选择,计数和显示(按组?)

来自分类Dev

如何按计数加入表组

来自分类Dev

R按组计数元素的出现次数

来自分类Dev

sql从行开始按组计数

来自分类Dev

MySQL组按2列计数?

来自分类Dev

按组求和和计数值

来自分类Dev

按组移动窗口计数不同

来自分类Dev

按组对行的顺序进行计数,并在每次组更改时重新开始计数

来自分类Dev

LINQ查询以按顺序在非组对象之间按属性组对对象进行计数

来自分类Dev

R中按组的计数数据的条形图

来自分类Dev

Linq组字符串数组按计数和排序

来自分类Dev

在R中按组顺序匹配和计数值

来自分类Dev

Ruby Array of Array组和按值计数

来自分类Dev

MySQL查询计数结果大于10,然后按组

来自分类Dev

按组的每个出现的值构建计数列

来自分类Dev

在R中按组创建连续年份的计数

来自分类Dev

根据条件和按组计数创建新列

来自分类Dev

dplyr样式计数(如果按r中的组)

来自分类Dev

SQL帮助:更新日期时如何按组计数?

来自分类Dev

MySQL按组将出现次数计数为列值

来自分类Dev

AWK / KSH Shell文本处理/按组计数