全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
11912 4
2015-11-21
悬赏 2 个论坛币 未解决
怎样另外创建一列,对commmodityc中所有相同的数字所对应的step1中的数据进行求和。例如,对commodityc中的所有72849(87229,。。。)所对应的step1中的数据进行求和?
捕获.PNG

原图尺寸 68.13 KB

捕获.PNG

二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-21 20:19:23
看egen命令的例子
二维码

扫码加我 拉你入群

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

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

2015-11-22 21:44:06
蓝色 发表于 2015-11-21 20:19
看egen命令的例子
恩恩,Thank you!
二维码

扫码加我 拉你入群

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

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

2017-3-5 14:23:09
不会!
二维码

扫码加我 拉你入群

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

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

2024-6-13 19:11:05
在Stata中,你可以使用`egen`命令来创建新的一列,该列是对某个变量按照另一个变量的分组进行汇总。在这个问题中,你想要对 `commodityc` 中相同值的 `step1` 进行求和。

这里是如何做的步骤:

首先确保你的数据是按 `commodityc` 排序的(虽然这不是必需的,但是好的实践):
```stata
sort commodityc
```

然后使用 `egen` 命令创建新的变量,这个新变量会包含每个 `commodityc` 的值对应的 `step1` 求和结果。假设我们把这个新的变量命名为 `sum_step1`。

这是命令的样子:

```stata
egen sum_step1 = sum(step1), by(commodityc)
```

但是请注意,上面的命令实际上会在每一行都放置当前组(由`commodityc`定义)的所有值的累积和。如果你只想要每个组的总和并且每个组只出现一次,则可能需要先使用 `bysort` 命令:

```stata
bysort commodityc (sum_step1): keep if _n == 1
```

这会保留每组的第一个观测值,并删除其他重复项。然而,一个更简洁的方法是直接在 `egen` 后面使用 `group()` 函数来指定分组变量,然后将结果存储在一个新的变量中:

```stata
bysort commodityc: egen sum_step1 = total(step1)
```

这样,`sum_step1` 变量就会包含每个 `commodityc` 值对应的 `step1` 的总和。确保在使用 `bysort` 之前对数据进行了排序。

如果你想要保留所有行,并且在每个相同的 `commodityc` 下有该组的求和结果,那么只需要使用初始的 `egen` 方法:

```stata
egen sum_step1 = total(step1), by(commodityc)
```

这样处理后,`sum_step1` 列将显示与 `commodityc` 中每个唯一值相关的 `step1` 的总和。

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



二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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