楼主: zjj526
2029 8

[编程问题求助] 如何提取出字符型变量中相同部分的字符与计算申请日到授权日的时间周期 [推广有奖]

  • 3关注
  • 10粉丝

已卖:1426份资源

学术权威

4%

还不是VIP/贵宾

-

威望
1
论坛币
35001 个
通用积分
1981.4432
学术水平
25 点
热心指数
50 点
信用等级
26 点
经验
34079 点
帖子
2259
精华
0
在线时间
2458 小时
注册时间
2005-5-8
最后登录
2025-12-2

楼主
zjj526 发表于 2018-7-21 10:08:33 |AI写论文
66论坛币
坛友们,大家好,在做专利质量测度时,遇到一些问题,寻求大家的帮助。即一个企业申请专利,该专利IPC分类(class)中,有多个分类号,且有专利申请日和授权日,如附件所示。
问题:
        1.提取出class中“/”前的字符,并且计算相同字符的个数,以第二行为例,提取出F23G5,F23G7,F23J15,B01D53,计算这四个字符的相同个数,如F23G5(5个);
       2.计算出application_date 到grant_date的时间周期;
       3.计算出所有样本中,“/”前字符(如F23G5)的个数(包括相同的个数)。
       再次谢谢坛友。

----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str40 asie_id int year str1 patent_type str10 application_date str610 class str10 grant_date
  4. "100026793" 2000 "u" "2000.12.04" "F23G5/02;F23G7/06;F23J15/00;B01D53/70"                                               "2002.01.02"
  5. "100026793" 2000 "i" "2000.10.25" "F23G5/00;F23G5/02;F23G5/08;F23G5/30;F23G5/44;F23G7/06;F23J15/00;B01D53/02;B01D53/34" "2003.12.31"
  6. "100026793" 2000 "i" "2000.12.04" "H02P9/04;F01D17/00;F24D15/02;F25B29/00"                                              "2004.05.05"
  7. "100026793" 2000 "i" "2000.07.10" "F23J15/00;B01D53/50;B01D53/68;C04B18/10;F23G5/00"                                    "2004.02.11"
  8. "100026793" 2000 "u" "2000.08.22" "F23J15/00;B01D47/06;B01D53/34;F23G5/50"                                              "2001.05.23"
  9. end
复制代码

------------------ copy up to and including the previous line ------------------

Listed 5 out of 69 observations

TIM图片20180721100025.png

最佳答案

luckykong 查看完整内容

给你个思路吧。懒得写程序 1,利用split函数,将class拆分,然后reshape long,最后sort一下,接下来计算数量应该很简单了 2,date函数转换成日期,直接计算就可以了 3,和问题1类似的方法
关键词:专利申请日 专利质量 时间周期 专利申请 一些问题
已有 1 人评分经验 收起 理由
葫芦娃大王 + 10 鼓励积极发帖讨论

总评分: 经验 + 10   查看全部评分

沙发
luckykong 发表于 2018-7-21 10:08:34
给你个思路吧。懒得写程序
1,利用split函数,将class拆分,然后reshape long,最后sort一下,接下来计算数量应该很简单了
2,date函数转换成日期,直接计算就可以了
3,和问题1类似的方法
已有 2 人评分经验 论坛币 热心指数 收起 理由
逐梦的太阳 + 5 + 5 热心帮助其他会员
葫芦娃大王 + 10 + 10 精彩帖子

总评分: 经验 + 10  论坛币 + 15  热心指数 + 5   查看全部评分

藤椅
简单2017飞 发表于 2018-7-21 10:57:35
我最近也在整这个专利数据,我编程不会,只能手工了哎

板凳
黃河泉 在职认证  发表于 2018-7-21 11:01:08
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html
已有 1 人评分经验 论坛币 收起 理由
葫芦娃大王 + 10 + 10 精彩帖子

总评分: 经验 + 10  论坛币 + 10   查看全部评分

报纸
zjj526 发表于 2018-7-21 15:28:35
黃河泉 发表于 2018-7-21 11:01
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明), ...
谢谢提醒。

地板
zjj526 发表于 2018-7-22 09:14:59
luckykong 发表于 2018-7-21 10:08
给你个思路吧。懒得写程序
1,利用split函数,将class拆分,然后reshape long,最后sort一下,接下来计算数 ...
您好,class变量中,"/"前面的字符串长度不一样,有5,6,7个,split分割后,用substr筛选时还说遇到难以筛选出字符串长度为5,6,7的字符,还有什么提示吗?或者有没有筛选"/"前面的字符串的命令?谢谢

7
蓝色 发表于 2018-7-22 11:23:21
zjj526 发表于 2018-7-22 09:14
您好,class变量中,"/"前面的字符串长度不一样,有5,6,7个,split分割后,用substr筛选时还说遇到难以筛 ...
再用split 命令以/ 为分隔 劈 开阿
split要灵活运用
已有 1 人评分经验 论坛币 收起 理由
葫芦娃大王 + 10 + 10 精彩帖子

总评分: 经验 + 10  论坛币 + 10   查看全部评分

8
zjj526 发表于 2018-7-22 11:48:56
蓝色 发表于 2018-7-22 11:23
再用split 命令以/ 为分隔 劈 开阿
split要灵活运用
谢谢,用egen classs`i'=ends(class`i'),punct("/")命令解决了。

9
葫芦娃大王 学生认证  发表于 2018-7-22 12:25:48
简单2017飞 发表于 2018-7-21 10:57
我最近也在整这个专利数据,我编程不会,只能手工了哎
请问这个专利数据哪里可以找到?

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-9 08:46