楼主: 秋日私语
22074 4

[Stata高级班] [stata高级]stata如何给出一个变量最大值或最小值的位置或序号(subscript)? [推广有奖]

  • 2关注
  • 1粉丝

已卖:460份资源

副教授

45%

还不是VIP/贵宾

-

威望
1
论坛币
9126 个
通用积分
6.8100
学术水平
4 点
热心指数
4 点
信用等级
1 点
经验
22955 点
帖子
375
精华
0
在线时间
794 小时
注册时间
2005-3-31
最后登录
2025-6-13

楼主
秋日私语 发表于 2011-2-24 10:43:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如果一个变量为V=(1,2,5,9,5,-10,3),该变量最大值的位置为V[4],最小值的位置为V[6], 如何用stata实现?
谢谢连老师。
二维码

扫码加我 拉你入群

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

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

关键词:STATA高级 script Stata scrip tata 变量 Stata 位置 序号 最大值

本帖被以下文库推荐

淡定,寻求心灵的宁静

沙发
arlionn 在职认证  发表于 2011-2-24 17:22:27
我不知道你的最终目的,只能写出如下代码供参考。
暂元 `max_id' 和 `min_id' 分别存储了最大值和最小值对应的序号。


clear

mat V = 1,2,5,9,5,-10,3

mat list V
mat v = V'
svmat v, name(v)

list v
sum v

gen  v_max_id = _n
gen  v_min_id = _n
replace v_max_id = . if v1!=r(max)
sort v_max_id
local max_id = v_max_id[1]
dis "max_id: " `max_id'         // 最大值的序号

replace v_min_id = . if v1!=r(min)
sort v_min_id
local min_id = v_min_id[1]
dis "min_id: " `min_id'         // 最小值的序号

藤椅
秋日私语 发表于 2011-2-25 00:41:01
谢谢连老师,我也编程序解决了该问题,只是觉得太繁琐,如果要是有简单点的解决办法,如有某一个外部函数什么的就好了。
淡定,寻求心灵的宁静

板凳
arlionn 在职认证  发表于 2011-2-25 08:45:38
那样有时也不太好,时间长了容易让人变得懒惰,所有的问题都想找个现成的函数来解决,慢慢的自己就丧失了独立写代码的能力了,呵呵。

报纸
秋日私语 发表于 2011-3-4 12:55:35
同感,呵呵。向连老师学习。虽醒悟太迟,还好,不算太晚。
淡定,寻求心灵的宁静

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

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