Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stata 找到具有特定值的观察值_Stata_Local_Equality_Stata Macros - Fatal编程技术网

Stata 找到具有特定值的观察值

Stata 找到具有特定值的观察值,stata,local,equality,stata-macros,Stata,Local,Equality,Stata Macros,我想找到与具有特定值的观测值相对应的观测值,例如29。然后,我想将这些观察值保存在宏中 有没有比以下笨拙且低效的forvalues循环更好的方法 sysuse auto, clear local n forvalues i=1/`=_N' { if mpg[`i']==29 local n `n' `i' } display "`n'" 你打字少了。你为什么要这个 你打字少了。你为什么要这个 谢谢。我这样做的原因是想找出一个特定的观测值,称之为X,在变量a分布中的位置。总共有10

我想找到与具有特定值的观测值相对应的观测值,例如
29
。然后,我想将这些观察值保存在宏中

有没有比以下笨拙且低效的
forvalues
循环更好的方法

sysuse auto, clear

local n

forvalues i=1/`=_N' {
    if mpg[`i']==29 local n `n' `i'
}

display "`n'"
你打字少了。你为什么要这个


你打字少了。你为什么要这个

谢谢。我这样做的原因是想找出一个特定的观测值,称之为X,在变量
a
分布中的位置。总共有100个观测值,我想看看X的
a
值与
a
的其他99个值相比如何。我有一个变量
b
,我用它来找到哪个观测值X。我用来查看X在分布中的位置的方法是首先对
a
排序,然后使用
b
来定位感兴趣的观测值(类似于上面的
29
),这样我就可以找到它的观测值。也许这是一个更好的方法,但我就是这么想的。不是很适合你,而是用分位数图<代码>分位数或
qplot
(SJ)。是的,类似于分位数图。我只想找出某个特定观测值左边的总观测值的百分比,并将该值保存到宏中。
如果mpg<29,则计数。这会更好,但在我的情况下,这实际上是一个步骤-我不知道特定obs的值。获取(无需手动查看或编写更多代码)。例如,创建一个新变量,
genn=mpg==29
。具有值
1
的观察结果是我感兴趣的。然后我可以用你的答案:
gen long obsno=\n
levelsofobsno如果n==1
。诚然,我最初的问题与
29
的用法相混淆,而不是与我实际拥有的东西更相似。谢谢。我这样做的原因是想找出一个特定的观测值,称之为X,在变量
a
分布中的位置。总共有100个观测值,我想看看X的
a
值与
a
的其他99个值相比如何。我有一个变量
b
,我用它来找到哪个观测值X。我用来查看X在分布中的位置的方法是首先对
a
排序,然后使用
b
来定位感兴趣的观测值(类似于上面的
29
),这样我就可以找到它的观测值。也许这是一个更好的方法,但我就是这么想的。不是很适合你,而是用分位数图<代码>分位数
qplot
(SJ)。是的,类似于分位数图。我只想找出某个特定观测值左边的总观测值的百分比,并将该值保存到宏中。
如果mpg<29,则计数。这会更好,但在我的情况下,这实际上是一个步骤-我不知道特定obs的值。获取(无需手动查看或编写更多代码)。例如,创建一个新变量,
genn=mpg==29
。具有值
1
的观察结果是我感兴趣的。然后我可以用你的答案:
gen long obsno=\n
levelsofobsno如果n==1
。诚然,我最初的问题与
29
的用法相混淆,而不是与我实际拥有的东西更相似。
gen long obsno = _n 
levelsof obsno if mpg == 29