楼主: Yolo99JG
2645 12

[面板数据求助] 工企与专利数据库匹配后的统计问题 [推广有奖]

  • 0关注
  • 1粉丝

学术菜鸟

已卖:47份资源

博士生

14%

还不是VIP/贵宾

-

威望
0
论坛币
382 个
通用积分
5.7804
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1453 点
帖子
54
精华
0
在线时间
449 小时
注册时间
2019-7-25
最后登录
2025-9-18

楼主
Yolo99JG 学生认证  发表于 2021-3-12 19:42:20 |AI写论文
50论坛币
研究需要用到工业企业数据库与专利数据库的匹配数据库,专利分为发明、实用新型和外观设计三类,目前需要命令统计出每个企业每年三类专利分别申请了多少个,但是原始的匹配后数据库是企业每年每一条申请专利的信息,需要统计换算,但是相关命令实在没有找到,还望高手、老师指点!示例数据如下
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double 年份 str89 企业名称 str9 组织机构代码 str1 patent_type double patent2
  4. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  5. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  6. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  7. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  8. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  9. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  10. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  11. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  12. 2005 "七台河市双叶家具实业有限公司" "130066067" "u" 0
  13. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  14. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  15. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  16. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  17. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  18. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1
  19. end
  20. label values patent2 patype
  21. label def patype 0 "实用新型", modify
  22. label def patype 1 "外观设计", modify
复制代码



最佳答案

梧桐煜 查看完整内容

以你贴出来的数据为例,看看这个是不是你想要的:
关键词:专利数据库 统计问题 专利数 数据库 generated stata

沙发
梧桐煜 发表于 2021-3-12 19:42:21
以你贴出来的数据为例,看看这个是不是你想要的:
  1. bysort 年份 企业名称:  egen sum1 = count(patent2) if patent2 == 1  //某年某司「外观设计」专利数量
  2. sum sum1
  3. replace sum1 = r(max) if sum1==.

  4. bysort 年份 企业名称:  egen sum2 = count(patent2) if patent2 == 0  //某年某司「实用新型」专利数量
  5. sum sum2
  6. replace sum2 = r(max) if sum2==.

  7. bysort 年份 企业名称: gen n1 = _n
  8. keep if n1 ==1
  9.   
复制代码

藤椅
Yolo99JG 学生认证  发表于 2021-3-12 19:44:02
不知道dataex命令粘贴出来的对不对,附上截图方便大家理解,无限进步!

截屏2021-03-12 下午7.43.54.png (1.15 MB)

截屏2021-03-12 下午7.43.54.png

板凳
Yolo99JG 学生认证  发表于 2021-3-12 19:47:54
简介明了来说,我的需求是将原数据统计成 year firm 的面板数据,包括发明 实用新型 外观设计 三个变量,如下
1997 A企业 2 2 3
1998 A企业 2 0 1
1997 B企业 4 5 1
1998 B企业 5 7 4

报纸
Yolo99JG 学生认证  发表于 2021-3-13 09:46:43 来自手机
梧桐煜 发表于 2021-3-13 09:45
以你贴出来的数据为例,看看这个是不是你想要的:
让我试试!谢谢大哥

地板
Yolo99JG 学生认证  发表于 2021-3-14 14:48:17
梧桐煜 发表于 2021-3-13 09:45
以你贴出来的数据为例,看看这个是不是你想要的:
前两条命令确实做到了对每类专利的计数,其实有三种专利 0=实用新型 1=外观设计 2=发明专利 在你的基础上做成了以下这样,最后需要实现的是将同一企业同一年的sum0-2数目合并成一条数据,示例数据如下
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 1
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 2
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 3
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 4
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 5
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 6
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 7
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 8
1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 9
1998 "清华同方股份有限公司" "100026793" "i" 2 . . 2 1
1998 "清华同方股份有限公司" "100026793" "i" 2 . . 2 2
end
label values patent2 patype
label def patype 0 "实用新型", modify
label def patype 2 "发明", modify
[/CODE]

7
Yolo99JG 学生认证  发表于 2021-3-14 14:49:49
比如清华同方的数据最后要做成 1998 清华同方 9 0 2

截屏2021-03-14 下午2.49.36.png (414.69 KB)

截屏2021-03-14 下午2.49.36.png

8
Yolo99JG 学生认证  发表于 2021-3-14 15:26:54
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double year str89 id str9 firmid str1 patent_type double(patent2 sum0 sum1 sum2 n1)
  4. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 1
  5. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 2
  6. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 3
  7. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 4
  8. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 5
  9. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 6
  10. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 7
  11. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 8
  12. 1998 "清华同方股份有限公司" "100026793" "u" 0 9 . . 9
  13. 1998 "清华同方股份有限公司" "100026793" "i" 2 . . 2 1
  14. 1998 "清华同方股份有限公司" "100026793" "i" 2 . . 2 2
  15. end
  16. label values patent2 patype
  17. label def patype 0 "实用新型", modify
  18. label def patype 2 "发明", modify
复制代码

9
梧桐煜 发表于 2021-3-15 11:13:36
Yolo99JG 发表于 2021-3-14 14:48
前两条命令确实做到了对每类专利的计数,其实有三种专利 0=实用新型 1=外观设计 2=发明专利 在你的基础上 ...
再试试下面这个命令(不过我认为下面这个和之前回复的是一样的):
  1. bysort 年份 企业名称: egen sum1 = count(patent2) if patent_type == "d"
  2. sum sum1
  3. replace sum1 = r(max) if sum1==.

  4. bysort 年份 企业名称: egen sum2 = count(patent2) if patent_type=="u"
  5. sum sum2
  6. replace sum2 = r(max) if sum2==.

  7. bysort 年份 企业名称: gen n1 = _n
  8. keep if n1 ==1
复制代码



10
梧桐煜 发表于 2021-3-15 12:31:06
Yolo99JG 发表于 2021-3-14 15:26
这是我最后得到的结果
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double 年份 str89 企业名称 str9 组织机构代码 str1 patent_type double(patent2 sum1 sum2 n1)
  4. 2005 "七台河市双叶家具实业有限公司" "130066067" "d" 1 8 1 1
  5. 2006 "七台河市双叶家具实业有限公司" "130066067" "d" 1 6 1 1
  6. end
  7. label values patent2 patype
  8. label def patype 1 "外观设计", modify
复制代码

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

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