全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3682 10
2020-08-20
借鉴前人操作方式如何实现近3年的发明专利总数。

求循环语句!!!
问题一:code这一列如何快速进行编码代指第一家企业、第二家企业、。。。。。?

问题二:如何用循环实现 近三年申请发明专利求和?

示例数据如:其中Invja是申请发明专利
code    Scode        Year        Invja        Umja        Desja
1       000008        2008        0        0        0
1       000008        2009        0        0        0
1       000008        2010        0        0        0
1       000008        2011        0        0        0
1       000008        2012        0        0        0
1       000008        2013        0        0        0
1       000008        2014        0        0        0
1       000008        2015        0        0        0
1      000008        2016        0        0        0
1       000008        2017        0        0        0
1       000008        2018        0        0        0
2       000012        2008        0        0        0
2       000012        2009        0        0        0
2       000012        2010        0        0        0
2        000012        2011        1        0        0
000012        2012        3        5        0
000012        2013        11        11        0
000012        2014        4        24        1
000012        2015        24        15        0
000012        2016        19        17        0
000012        2017        58        47        0
000012        2018        33        12        0


二维码

扫码加我 拉你入群

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

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

全部回复
2020-8-20 16:25:27
建议用dataex命令贴出示例数据。
没有太理解你的第一个问题。
第二个问题,可以尝试以下代码:
复制代码

需要注意此处的Year变量应为连续的数值型变量。另外,建议发帖前面也可以搜索一下是否有相关的帖子(比如搜索“近三年”),这样能更快速的得到想要的答案。
二维码

扫码加我 拉你入群

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

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

2020-8-20 17:48:28
----------------------- copy starting from the next line -----------------------
复制代码

二维码

扫码加我 拉你入群

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

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

2020-8-20 17:53:04
命令
rangestat (sum) Invja, interval(Year -2 0) by(Scode)
bys Scode (Year): replace Invja_sum=.  if _n<3

结果
rangestat (sum) Invja, interval(Year -2 0) by(Scode)
option  by() not allowed
二维码

扫码加我 拉你入群

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

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

2020-8-20 18:21:37
我的第一个问题的表述想表达:
stata有没有语句能够将Scode对应成下表所示的company这种形式,或者其他可行的方法。上表Scode是代码,这里的company就代指的1,2,3.。。。。。。
之所以有这种想法,是看到环境不确定性这个需要用到两个循环,i(代表连续时间),j(连续企业编码)。
[CODE]1
* Example generated by -dataex-. To install: ssc install dataex
clear
company year invest mvalue kstock
1 1935  317.6 3078.5    2.8
1 1936      . 4661.7   52.6
1 1938  257.7 2792.2  209.2
1 1939  330.8 4313.2  203.4
1 1940  461.2 4643.9  207.2
1 1942    448 3244.1  303.7
1 1943      . 4053.7  264.1
1 1944  547.5 4379.3  201.6
1 1945  561.2 4840.9    265
1 1946  688.1 4900.9  402.2
1 1947  568.9 3526.5  761.5
1 1948  529.2 3254.7  922.4
1 1949  555.1 3700.2 1020.1
1 1950  642.9 3755.6   1099
1 1951      .   4833 1207.7
1 1952      . 4924.9 1430.5
1 1953 1304.4 6241.7 1777.3
1 1954 1486.7 5593.6 2226.3
2 1935  209.9 1362.4   53.8
2 1936  355.3 1807.1   50.5
2 1938  262.3 1801.9  260.2
2 1940  361.6 2202.9  254.2
2 1941  472.8 2380.5  261.4
2 1942      . 2168.6  298.7
2 1943  361.6 1985.1  301.8
2 1944  288.2 1813.9  279.1
2 1945  258.7 1850.2  213.8
2 1946      . 2067.7  132.6
2 1947  420.5 1796.7  264.8
2 1948  494.5 1625.8  306.9
2 1949  405.1   1667  351.1
2 1950  418.8 1677.4  357.8
2 1951  588.2 2289.5  342.1
2 1952  645.5 2159.4  444.2
2 1954  459.3 2115.5  669.7
end
二维码

扫码加我 拉你入群

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

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

2020-8-21 11:14:40
DΘstinyじò 发表于 2020-8-20 16:25
建议用dataex命令贴出示例数据。
没有太理解你的第一个问题。
第二个问题,可以尝试以下代码:
谢谢您,第一个问题用Excel有了思路。

第一步:根据Year升序排列
第二步:用COUNTIF命令计数编号
第三步:根据Scode升序可以达到目的

十分感谢您提供的提问方式和思考问题的方法以及解决问题的语句命令。看到您的评论热泪盈眶,感激。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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