楼主: 西漠_
2853 8

[数据管理求助] 【求助!】如何使得某一变量包含的所有样本进行两两相减并取绝对值?? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

已卖:1份资源

高中生

17%

还不是VIP/贵宾

-

威望
0
论坛币
996 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
91 点
帖子
9
精华
0
在线时间
38 小时
注册时间
2019-11-10
最后登录
2024-11-18

楼主
西漠_ 学生认证  发表于 2020-10-11 18:53:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如图,我想要将 同一年中 各个省份的ln_oil值 进行两两相减 差取绝对值,应该如何编写命令?萌新求大佬指教!!!
1602413185.png

二维码

扫码加我 拉你入群

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

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

关键词:取绝对值 绝对值 Oil

回帖推荐

沙发
西漠_ 学生认证  发表于 2020-10-12 16:23:56
顶贴!大佬们康康我吧!!!

藤椅
DΘstinyじò 发表于 2020-10-12 18:11:32
  1. cap program drop mydiff
  2. program define mydiff
  3. mkmat ln_oil,mat(ln_oil)
  4. mat temp=ln_oil*J(1,_N,1)-(ln_oil*J(1,_N,1))'
  5. svmat temp
  6. end

  7. runby mydiff,by(year)

  8. foreach v of var temp* {
  9.     replace `v'=abs(`v')
  10. }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

板凳
西漠_ 学生认证  发表于 2020-10-13 14:21:03
DΘstinyじò 发表于 2020-10-12 18:11
感谢大佬回复!请问前两行命令是什么意思?我没有查阅到…后面矩阵和循环的命令看懂了

报纸
DΘstinyじò 发表于 2020-10-13 14:48:09
西漠_ 发表于 2020-10-13 14:21
感谢大佬回复!请问前两行命令是什么意思?我没有查阅到…后面矩阵和循环的命令看懂了
前面是自定义的程序,程序名为mydiff。
program define  
end
之间是程序内容
第一行是为了方便程序修改,运行一次program define 会把当前的这个程序加载到内存里,如有修改,需要先删除。capture 是因为第一次运行时候,内存没有这个命令,跳过这个报错继续执行后面代码。(个人理解)

地板
西漠_ 学生认证  发表于 2020-10-13 19:53:06
DΘstinyじò 发表于 2020-10-13 14:48
前面是自定义的程序,程序名为mydiff。
program define  
end
好的!多谢大佬!!!

7
ljy9978228 发表于 2021-6-9 14:40:07
DΘstinyじò 发表于 2020-10-12 18:11
想问一下,如果不减自身,程序应该怎么写

8
DΘstinyじò 发表于 2021-6-14 21:25:13
ljy9978228 发表于 2021-6-9 14:40
想问一下,如果不减自身,程序应该怎么写
那可能需要结合for循环写一下,但是结果不好和原来数据的ID标识匹配上,不减去自身的话,结果个数和原来差一个,不好对应。

9
908550626 发表于 2022-10-3 14:00:35
运行到这步时候foreach v of var temp* {结果显示没有temp*这个带星号的变量,而且stata内导入的数据都消失了也没有跑出结果,为什么呢

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

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