46405 19

[数据管理求助] stata中如何实现将观测值个数生成新变量? [推广有奖]

11
~面朝大海~ 发表于 2014-4-27 12:38:07
我用方法一、四都没问题。你再琢磨琢磨

12
smartpigeon 在职认证  发表于 2015-1-28 19:30:07
冰冻的鸭梨 发表于 2014-4-11 16:55
在输入命令之前必须写入“inp id t”吗?为什么stata显示“orgn_code already defined”。
我遇到的问题 ...
请问你这个问题解决了吗?怎么解决的?谢谢

13
xichun0206 发表于 2015-5-29 17:02:08
smartpigeon 发表于 2015-1-28 19:30
请问你这个问题解决了吗?怎么解决的?谢谢
将之前的变量去掉就可以了,这是因为你之前已经定义过这个变量了
drop orgn_code
即可

14
陌上小开 学生认证  发表于 2017-11-30 11:30:29
冰冻的鸭梨 发表于 2014-4-11 16:55
在输入命令之前必须写入“inp id t”吗?为什么stata显示“orgn_code already defined”。
我遇到的问题 ...
请问这个问题你解决了吗?就是有前提条件的情况下,如何计算?

15
伊如影风 发表于 2017-11-30 16:05:09
我使用方法四得出来的结果明显不对呀

16
lky262388 发表于 2018-3-6 12:03:44
angelqii 发表于 2014-4-22 11:44
我把我正在处理的数据中id转换为数字型试了一下方法四,发现方法四也不能够使得number的值随着观测案例个 ...
可否请教一下,你的问题解决了吗?

17
玄宇豪 学生认证  发表于 2019-2-3 20:55:10
h3327156 发表于 2013-6-29 19:48
inp id t
1 1991
1 1992
方法三有误啊,如果id内的t不连续,那么用tsspell会在id内生成多个小组,这时候number就成了观测值最多的小组的观测数

18
15004821372 发表于 2020-10-28 09:34:29
冰冻的鸭梨 发表于 2014-4-11 16:55
在输入命令之前必须写入“inp id t”吗?为什么stata显示“orgn_code already defined”。
我遇到的问题 ...
我现在也遇到同样的问题,请问您最后怎么算的呀?

19
15004821372 发表于 2020-10-28 09:37:32
冰冻的鸭梨 发表于 2014-4-11 16:55
在输入命令之前必须写入“inp id t”吗?为什么stata显示“orgn_code already defined”。
我遇到的问题 ...
我现在也遇到了同样的问题,请问您怎么解决的呀?

20
赵安豆 发表于 2024-12-26 19:15:38
在Stata中,如果要生成一个变量来表示每个样本(id)的观测期个数,你可以使用以下步骤:

首先确保你的数据是根据`id`排序的。可以使用`sort`命令完成:
```
sort id t
```

然后使用`bysort`和`egen`命令结合`count()`函数生成新的变量`number`,表示每个样本的观测期个数:
```
bysort id: egen number = count(t)
```

但是,从你给出的提示来看(即“我通过by id: count if t”),你可能已经对数据进行了排序,并试图计算`t`的出现次数。在Stata中,直接使用`egen`命令会更简洁且有效。

所以,完整的步骤如下:
1. 确保数据按`id`和`t`排序
```
sort id t
```
2. 使用`egen`生成新变量`number`
```
bysort id: egen number = count(t)
```

这样,`number`变量就会为每个样本记录下其观测期个数。注意,这个命令中的`count()`函数是计算在当前`id`组内`t`出现的次数。

如果你的数据中`t`不是唯一标识每个时期的变量(即,可能存在多个观测值在同一时期),那么`count(t)`可能会给出不正确的结果,因为它将计算`t`这一特定值的频率。在这种情况下,你可能需要一个更复杂的方法来确定确切的时间点数。但是根据你的描述,我假设`t`是唯一的,并且这样简单的计数应该就足够了。

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



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

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