楼主: Mr_kaitokuroba
2977 6

[面板数据求助] 如何将变量里的最后一个数字减去第一个数字? [推广有奖]

  • 0关注
  • 0粉丝

大专生

58%

还不是VIP/贵宾

-

威望
0
论坛币
1502 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
308 点
帖子
23
精华
0
在线时间
76 小时
注册时间
2015-2-5
最后登录
2022-9-25

30论坛币
如题,因为每一个变量都要做,不想手动来,500多个计算量太大了,求助,谢谢 1547649201(1).png

关键词:最后一个
沙发
nice生活圈 在职认证  学生认证  发表于 2019-1-17 17:40:01 |只看作者 |坛友微信交流群
您好,如果您的求助没有解决,请到项目交易发布需求,会有更快更专业的用户帮助您 https://bbs.pinggu.org/prj/

使用道具

藤椅
黃河泉 在职认证  发表于 2019-1-18 09:37:46 |只看作者 |坛友微信交流群
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

使用道具

板凳
天涯934821 发表于 2021-5-29 21:13:47 |只看作者 |坛友微信交流群
想请问一下,博主找到方法了吗?我也遇到了这个问题

使用道具

报纸
LQB1994 学生认证  发表于 2023-1-29 22:53:27 |只看作者 |坛友微信交流群
看不到你的完整数据,本人使用如下例子展示了你想要的效果,变通一下应该能解决你的问题。
  1. webuse stan2, clear
  2. global var "died stime transplant wait" //定义宏
  3. foreach i of global var {
  4.         local r=`i'[_N]-`i'[_N-(_N-1)]
  5.         di `r'
  6.         replace `i'=`r' if _n==_N
  7. }
复制代码

注意:
  • (1)Stata对空格、中英文比较敏感,如果直接复制无法运行,请重新手动敲一遍上述代码并删除中文注释(请注意格式,包括空格和换行)。
  • (2)最后两个变量提示“(0 real changes made)”,是因为这两个变量的第一个值为0,所以没有发生变化。

使用道具

地板
Cissy/ 学生认证  发表于 2023-2-4 10:05:59 |只看作者 |坛友微信交流群
LQB1994 发表于 2023-1-29 22:53
看不到你的完整数据,本人使用如下例子展示了你想要的效果,变通一下应该能解决你的问题。

注意:
如果是分类呢?
相同id的值赋为最后一个值减第一个值

使用道具

7
LQB1994 学生认证  发表于 2023-2-15 01:46:37 |只看作者 |坛友微信交流群
Cissy/ 发表于 2023-2-4 10:05
如果是分类呢?
相同id的值赋为最后一个值减第一个值
试试这样行不行:
  1. global var "died stime transplant wait"
  2. foreach i of global var {
  3.         local r=`i'[_N]-`i'[_N-(_N-1)]
  4.         di `r'
  5.         bysort id:replace `i'=`r' if _n==_N
  6. }
复制代码

使用道具

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

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

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

GMT+8, 2024-5-10 01:33