楼主: 18373260766
682 7

[编程问题求助] 求助:请问怎么将重复的时间合并为1项,同时将时间对应的相应变量求和 [推广有奖]

  • 0关注
  • 0粉丝

大专生

63%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
5.7332
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
338 点
帖子
22
精华
0
在线时间
83 小时
注册时间
2021-7-14
最后登录
2023-5-15

9论坛币
最近在写论文,但是有个问题一直很困扰我,就是我现有多列数据,图片附在最后。然后我想将year列的数十个“1990”合并成1个,同时,“1990”对应的entry和exit列数据也相加。目前尝试了bysort Prvcnm: duplicates drop year和duplicates drop year in Prvcnm==北京市,均报错。请问有什么方法可以实现这个目标啊?本来想着excel整理,但是7万多个数据太多了。非常感谢大家!


最佳答案

我是工作狂2009 查看完整内容

bysort Prvcnm_id year : egen entry_sum =sum(entry) bysort Prvcnm_id year : egen exit_sum =sum(exit) duplicates drop Prvcnm_id year,force drop entry exit indu2 忘记加force了,再试试
关键词:duplicates duplicate bysort ENTRY EXCEL
18373260766 发表于 2021-8-27 10:06
加引号不加我之前都尝试过,是一样的报错。然后您刚才这个方法我试了下,和我之前某个报错一样:
force  ...
bysort Prvcnm_id  year : egen entry_sum =sum(entry)
bysort Prvcnm_id  year : egen exit_sum   =sum(exit)
duplicates drop Prvcnm_id  year,force
drop entry exit indu2
忘记加force了,再试试

使用道具

藤椅
18373260766 学生认证  发表于 2021-8-26 23:14:03 |只看作者 |坛友微信交流群
好像图片我这边没显示出来,那我直接贴一段核心数据(有些数据会干扰,所以就不用dataex贴了)
year      Prvcnm       Prvcnm_id        entry        exit     indu2(行业代码,合并时可以忽略)
1990     北京市           31                  15            6         52   
1990     北京市           31                  20            5         45
1990     北京市           31                  18            4         48
1991     北京市           31                  30            1         51
1991     北京市           31                  34            7         30
1992     北京市           31                  14            2         27
1990     天津市           12                  13            5         34
1990     天津市           12                  24            3         99
1990     天津市           12                  32            3         65
..........
时间是1980-2017,Prvcnm是有32个省直辖市,entry和exit都要加和保留,indus2可以删掉。麻烦大家啦!不胜感激

使用道具

bysort Prvcnm_id  year : egen entry_sum =sum(entry)
bysort Prvcnm_id  year : egen exit_sum   =sum(exit)
duplicates drop Prvcnm_id  year
drop entry exit indu2
尽量用数值变量Prvcnm_id  不要用字符变量Prvcnm
用字符变量要加引号的,例如:drop if Prvcnm  == "北京市"

使用道具

报纸
18373260766 学生认证  发表于 2021-8-27 10:06:43 |只看作者 |坛友微信交流群
我是工作狂2009 发表于 2021-8-27 09:35
bysort Prvcnm_id  year : egen entry_sum =sum(entry)
bysort Prvcnm_id  year : egen exit_sum   =sum( ...
加引号不加我之前都尝试过,是一样的报错。然后您刚才这个方法我试了下,和我之前某个报错一样:
force option required with duplicates drop varlist。我这个数据表是经过合并处理(字符串转化为数值)的,请问会是因为这个问题吗?

使用道具

地板
18373260766 学生认证  发表于 2021-8-27 10:34:10 |只看作者 |坛友微信交流群
我是工作狂2009 发表于 2021-8-27 10:22
bysort Prvcnm_id  year : egen entry_sum =sum(entry)
bysort Prvcnm_id  year : egen exit_sum   =sum ...
good。看来还是我对报错的意思不了解,现在都清楚了,非常感谢啦

使用道具

7
18373260766 学生认证  发表于 2021-8-27 10:41:05 |只看作者 |坛友微信交流群
我是工作狂2009 发表于 2021-8-27 09:35
bysort Prvcnm_id  year : egen entry_sum =sum(entry)
bysort Prvcnm_id  year : egen exit_sum   =sum( ...
对了,还有个小问题想咨询一下,麻烦你啦。就是如果北京市那一列我已经转化为数值型了,对该列变量进行一些方法的时候,还需要加引号吗?

使用道具

18373260766 发表于 2021-8-27 10:41
对了,还有个小问题想咨询一下,麻烦你啦。就是如果北京市那一列我已经转化为数值型了,对该列变量进行一 ...
应该不需要了,数值型可以直接= x
字符型需要 = "xx"

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 21:56