楼主: 黃河泉
206736 147

[数据管理求助] 让巧妇有米可炊 (提問時,如何附上適當的資料)   [推广有奖]

141
心情不错吼 发表于 2022-11-23 21:52:52 |只看作者 |坛友微信交流群
黃河泉 发表于 2022-11-22 07:38
你的变量名称与你的说明变量的关系是 (从原始资料到你的说明资料似乎还要几步的计算)?我觉得你给的资料  ...
不好意思老师,昨天附的资料是原始的,我把中间过程补上了。完整应该是下面这个样子。

G指数的计算方法为:将发表的论文按被引次数由高向低排序,将序号平方,被引次数按序号层层累加,当序号平方大于等于累计被引次数时,该序号则为g指数。如序号平方不是恰好等于而是小于对应的累计被引次数,则最接近累计被引次数的序号即为g指数。简而言之,g 指数是引频累积数量大于等于序号平方的最大序号。
举个例子:
某个学者发表了10篇论文,具体引用次数如下:
论文序号n                       1   2   3   4   5   6   7   8
被引频次times                 30  8   6   5   5   4   3    2
累计被引频次sum_times   30 38 44 49 54  58  61  63
序号平方n2                     1   4   9  16 25  36  49  64
表1的第3行和第4行分别计算了该学者的累积被引频次和论文序号的平方。通过将二者依次对比可以发现,当论文序号为7时,该作者的累积被引频次61大于论文序号的平方49;但当论文序号为8时,该作者的累积被引频次63开始小于序号的平方64,所以该学者的g指数为7。
id代表作者,year代表年份,times代表被引频次,sum_times代表累计被引频次,n2代表序号的平方
从大于等于0的至少有0个循环起,在所有符合条件的g中取最大值,另外生成一个新列或新的数据集,对应id,year,G。
---------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int(year times) str6 id float(n n2 sum_times)
  4. 2005 21 "000008" 1  1 21
  5. 2005 11 "000008" 2  4 32
  6. 2005  2 "000008" 3  9 34
  7. 2005  0 "000008" 4 16 34
  8. 2005  0 "000008" 5 25 34
  9. 2005  0 "000008" 6 36 34
  10. 2006  3 "000008" 1  1  3
  11. 2006  0 "000008" 2  4  3
  12. 2007  4 "000008" 1  1  4
  13. 2007  4 "000008" 2  4  8
  14. 2007  3 "000008" 3  9 11
  15. 2007  0 "000008" 4 16 11
  16. 2007  0 "000008" 5 25 11
  17. 2007  0 "000008" 6 36 11
  18. 2008 10 "000008" 1  1 10
  19. 2008  4 "000008" 2  4 14
  20. 2008  3 "000008" 3  9 17
  21. 2008  2 "000008" 4 16 19
  22. 2008  0 "000008" 5 25 19
  23. 2008  0 "000008" 6 36 19
  24. 2008  0 "000008" 7 49 19
  25. 2008  0 "000008" 8 64 19
  26. end
复制代码
------------------ copy up to and including the previous line ------------------

使用道具

142
心情不错吼 发表于 2022-11-24 12:43:14 |只看作者 |坛友微信交流群
黃河泉 发表于 2022-11-22 07:38
你的变量名称与你的说明变量的关系是 (从原始资料到你的说明资料似乎还要几步的计算)?我觉得你给的资料  ...
不好意思老师,昨天附的资料是原始的,我把中间过程补上了。完整应该是下面这个样子。 昨天的回复不知道为什么没有显示出来

G指数的计算方法为:将发表的论文按被引次数由高向低排序,将序号平方,被引次数按序号层层累加,当序号平方大于等于累计被引次数时,该序号则为g指数。如序号平方不是恰好等于而是小于对应的累计被引次数,则最接近累计被引次数的序号即为g指数。简而言之,g 指数是引频累积数量大于等于序号平方的最大序号。
举个例子:
某个学者发表了10篇论文,具体引用次数如下:
论文序号n                        1   2   3   4   5   6   7   8
被引频次times                 30  8   6   5   5   4   3    2
累计被引频次sum_times   30 38 44 49 54  58  61  63
序号平方n2                      1   4   9  16 25  36  49  64
表1的第3行和第4行分别计算了该学者的累积被引频次和论文序号的平方。通过将二者依次对比可以发现,当论文序号为7时,该作者的累积被引频次61大于论文序号的平方49;但当论文序号为8时,该作者的累积被引频次63开始小于序号的平方64,所以该学者的g指数为7。
author代表作者,year代表年份,times代表被引频次,sum_times代表累计被引频次,n代表序号,n2代表序号平方。
从大于等于0的至少有0个循环起,每个学者每个年份所有符合的值中取最大值即为g,另外生成一个新列或新的数据集,对应author,year,G。
还望老师百忙之余可以指点一二,学生不胜感激。
----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input int(year times) str6 author float(n n2 sum_times)
  4. 2005 21 "000008" 1  1 21
  5. 2005 11 "000008" 2  4 32
  6. 2005  2 "000008" 3  9 34
  7. 2005  0 "000008" 4 16 34
  8. 2005  0 "000008" 5 25 34
  9. 2005  0 "000008" 6 36 34
  10. 2006  3 "000008" 1  1  3
  11. 2006  0 "000008" 2  4  3
  12. 2007  4 "000008" 1  1  4
  13. 2007  4 "000008" 2  4  8
  14. 2007  3 "000008" 3  9 11
  15. 2007  0 "000008" 4 16 11
  16. 2007  0 "000008" 5 25 11
  17. 2007  0 "000008" 6 36 11
  18. 2008 10 "000008" 1  1 10
  19. 2008  4 "000008" 2  4 14
  20. 2008  3 "000008" 3  9 17
  21. 2008  2 "000008" 4 16 19
  22. 2008  0 "000008" 5 25 19
  23. 2008  0 "000008" 6 36 19
  24. 2008  0 "000008" 7 49 19
  25. 2008  0 "000008" 8 64 19
  26. end
复制代码
------------------ copy up to and including the previous line ------------------

Listed 22 out of 22 observations

.

使用道具

143
心情不错吼 发表于 2022-11-24 15:53:26 |只看作者 |坛友微信交流群
不好意思老师,昨天附的资料是原始的,我把中间过程补上了。完整应该是下面这个样子。不知道为什么回复没有显示出来。
G指数的计算方法为:将发表的论文按被引次数由高向低排序,将序号平方,被引次数按序号层层累加,当序号平方大于等于累计被引次数时,该序号则为g指数。如序号平方不是恰好等于而是小于对应的累计被引次数,则最接近累计被引次数的序号即为g指数。简而言之,g 指数是引频累积数量大于等于序号平方的最大序号。
举个例子:
某个学者发表了10篇论文,具体引用次数如下:
论文序号n                      1   2   3   4   5   6   7   8
被引频次times                30  8   6   5   5   4   3    2
累计被引频次sum_times  30 38 44 49 54  58  61  63
序号平方n2                    1   4   9  16 25  36  49  64
表1的第3行和第4行分别计算了该学者的累积被引频次和论文序号的平方。通过将二者依次对比可以发现,当论文序号为7时,该作者的累积被引频次61大于论文序号的平方49;但当论文序号为8时,该作者的累积被引频次63开始小于序号的平方64,所以该学者的g指数为7。
author代表作者,year代表年份,times代表被引频次。
从大于等于0的至少有0个循环起,另外生成一个新列或新的数据集,对应author,year,G。
还望老师百忙之余可以指点一二,学生不胜感激。
----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input int(year times) str6 author float(n n2 sum_times)
  4. 2005 21 "000008" 1  1 21
  5. 2005 11 "000008" 2  4 32
  6. 2005  2 "000008" 3  9 34
  7. 2005  0 "000008" 4 16 34
  8. 2005  0 "000008" 5 25 34
  9. 2005  0 "000008" 6 36 34
  10. 2006  3 "000008" 1  1  3
  11. 2006  0 "000008" 2  4  3
  12. 2007  4 "000008" 1  1  4
  13. 2007  4 "000008" 2  4  8
  14. 2007  3 "000008" 3  9 11
  15. 2007  0 "000008" 4 16 11
  16. 2007  0 "000008" 5 25 11
  17. 2007  0 "000008" 6 36 11
  18. 2008 10 "000008" 1  1 10
  19. 2008  4 "000008" 2  4 14
  20. 2008  3 "000008" 3  9 17
  21. 2008  2 "000008" 4 16 19
  22. 2008  0 "000008" 5 25 19
  23. 2008  0 "000008" 6 36 19
  24. 2008  0 "000008" 7 49 19
  25. 2008  0 "000008" 8 64 19
  26. end
复制代码
------------------ copy up to and including the previous line ------------------

使用道具

144
2015lqh 学生认证  发表于 2023-2-22 16:58:15 |只看作者 |坛友微信交流群
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input str18 make int(price mpg rep78) float headroom int trunk
  4. "AMC Concord"    4099 22 3 2.5 11
  5. "AMC Pacer"      4749 17 3   3 11
  6. "AMC Spirit"     3799 22 .   3 12
  7. "Buick Century"  4816 20 3 4.5 16
  8. "Buick Electra"  7827 15 4   4 20
  9. "Buick LeSabre"  5788 18 3   4 21
  10. "Buick Opel"     4453 26 .   3 10
  11. "Buick Regal"    5189 20 3   2 16
  12. "Buick Riviera" 10372 16 3 3.5 17
  13. "Buick Skylark"  4082 19 3 3.5 13
  14. end
复制代码

使用道具

145
2015lqh 学生认证  发表于 2023-2-22 17:03:13 |只看作者 |坛友微信交流群
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input str18 make int(price mpg rep78) float headroom int trunk
  4. "AMC Concord"    4099 22 3 2.5 11
  5. "AMC Pacer"      4749 17 3   3 11
  6. "AMC Spirit"     3799 22 .   3 12
  7. "Buick Century"  4816 20 3 4.5 16
  8. "Buick Electra"  7827 15 4   4 20
  9. "Buick LeSabre"  5788 18 3   4 21
  10. "Buick Opel"     4453 26 .   3 10
  11. "Buick Regal"    5189 20 3   2 16
  12. "Buick Riviera" 10372 16 3 3.5 17
  13. "Buick Skylark"  4082 19 3 3.5 13
  14. end
复制代码

使用道具

146
我就爱维C 发表于 2023-2-28 16:13:45 |只看作者 |坛友微信交流群
  dataex 试试

使用道具

147
橙子君sams 发表于 2023-3-2 14:19:26 |只看作者 |坛友微信交流群
感谢分享
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input str4 x double(a b)
  4. "A"  1 1
  5. "B"  2 1
  6. "C" 34 1
  7. "D" 35 2
  8. "E"  4 2
  9. "F" 34 2
  10. "G"  6 2
  11. end
复制代码


使用道具

148
良稳QAQ 在职认证  发表于 2023-4-20 09:50:12 |只看作者 |坛友微信交流群

  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input str18 make int(price mpg rep78)
  4. "AMC Concord"   4099 22 3
  5. "AMC Pacer"     4749 17 3
  6. "AMC Spirit"    3799 22 .
  7. "Buick Century" 4816 20 3
  8. "Buick Electra" 7827 15 4
  9. end
复制代码

使用道具

149
离影。 学生认证  发表于 2023-5-30 11:50:10 |只看作者 |坛友微信交流群

* Example generated by -dataex-. To install: ssc install dataex
clear
input int year str5 industry long(installations operationalstock) float id
2003 "A-B"    0    0 3
2003 "C"      0    0 4
2003 "D"      0    0 5
2003 "E"      0    0 6
2003 "F"      0    0 7
2003 "99"  1451 3603 2
2003 "000" 1451 3603 1
end

尝试一下,dataex之后,复制过来,粘贴,是这样吗?

使用道具

150
离影。 学生认证  发表于 2023-5-30 11:51:51 |只看作者 |坛友微信交流群
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year str5 industry long(installations operationalstock) float id
  4. 2003 "A-B"    0    0 3
  5. 2003 "C"      0    0 4
  6. 2003 "D"      0    0 5
  7. 2003 "E"      0    0 6
  8. 2003 "F"      0    0 7
  9. 2003 "99"  1451 3603 2
  10. 2003 "000" 1451 3603 1
  11. end
复制代码


和其他人的不一样,再试试在回复页面用代码符号,再粘贴

使用道具

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

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

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

GMT+8, 2024-4-20 04:31