如何计算到目前为止在序列中看到的最大值或最小值及其关联的ID?

杰斯

通过此Stata常见问题解答,我知道问题的第一部分的答案。但是在这里,我想更进一步。假设我有以下数据(已按未显示的变量排序):

id v1 
A  9  
B  8  
C  7  
B  7  
A  5  
C  4  
A  3  
A  2  

为了计算此序列中的最小值,我这样做

generate minsofar = v1 if _n==1
replace  minsofar = min(v1[_n-1], minsofar[_n-1]) if missing(minsofar)

要得到

id v1 minsofar 
A  9  9        
B  8  9        
C  7  8        
B  7  7        
A  5  7        
C  4  5        
A  3  4        
A  2  3        

现在,我想生成一个变量,将其命名为id_min给我提供与minsofar相关联的ID,例如

id v1 minsofar id_min
A  9  9         A
B  8  9         A
C  7  8         B
B  7  7         C
A  5  7         C
C  4  5         A
A  3  4         C 
A  2  3         A

请注意,C与7关联,因为在当前排序中7首先与C关联。为了清楚起见,我的ID变量在这里只是为了便于阅读而显示为字符串变量,它实际上是数字。

有想法吗?

编辑:

我想

gen id_min = id if _n<=2
replace id_min = id[_n-1] if v1[_n-1]<minsofar[_n-1] & missing(id_min)
replace id_min = id_min[_n-1] if missing(id_min)

在此示例中,至少要为数据做这项工作。不知道它是否适用于更复杂的情况。

尼克·考克斯

这比到目前为止所暗示的更加容易,同时也更具挑战性。给定value(比OP更具启发性v1)并且希望到目前为止跟踪最小值,例如

 generate min_so_far = value[1] 
 replace min_so_far = value if value < min_so_far[_n-1] in 2/L 

第二条陈述利用了Statareplace在当前观察顺序中的不足为奇的事实[_n-1]是上一个观测值的索引,in 2/L表示从第二个观测值到最后一个观测值的所有观测值都有一个循环。

请注意,OP的版本存在错误:通过始终查看先前的观察,代码将永远不会查看最后一个值,并且如果它是一个新的最小值,则会忽略该值。OP可能确实希望“现在之前最少”,但这不是我所理解的“到目前为止最少”。

如果我们有缺失值,则value它们不会以任何有害的方式进入比较:Stata始终将缺失视为任意大,因此,当且仅当到目前为止不存在任何缺失时,才会记录缺失。是。

一目了然的最小值的标识符产生相同的逻辑

 generate min_so_far = value[1] 
 gen id_min = id[1] 
 replace min_so_far = value if value < min_so_far[_n-1] in 2/L 
 replace id_min = id if value < min_so_far[_n-1] in 2/L 

至少有两个可能被咬的曲折。OP提到了标识符可能丢失的可能性,因此我们可能有一个新的最小值,但不知道其标识符。刚刚给出的代码将使用丢失的标识符,但是如果希望用已知的标识符分别跟踪最小值的标识符,则需要不同的代码。

迄今为止未提及的一个问题是,到目前为止,具有不同标识符的观测值可能都具有相同的最小值。上面的代码仅在第一次看到特定最小值时才替换标识符。如果希望记录最后一次出现的标识符,则<上面的最后一个代码行中的应当替换为<=如果希望跟踪到目前为止的所有最小标识符,则需要一个字符串变量来连接所有标识符。

使用面板或纵向数据的结构,整个工作在的主持下完成by:

我看不到有必要在此使用用户编写的扩展程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

到目前为止,跟踪哪个值最小,哪个值最大

来自分类Dev

从函数内部,如何查看到目前为止将返回到管道的结果

来自分类Dev

如何打印到目前为止找到的最大质数?

来自分类Dev

我想获取每个<td> <button> </ td>的值。到目前为止,这是我的代码

来自分类Dev

OffsetDateTime 到目前为止 Android

来自分类Dev

Python Pandas-计算到目前为止每一行在列中找到的字符串

来自分类Dev

我试图在用户输入税金时获得g_total。到目前为止,它没有返回任何值。到目前为止我已经尝试过这件事

来自分类Dev

JS到目前为止的最小回溯算法错误

来自分类Dev

Python和Pandas-列“计算方向”并显示“到目前为止的平均值”

来自分类Dev

选择到目前为止的特定日期mysql

来自分类Dev

Orchard的Context数据-到目前为止还很近

来自分类Dev

到目前为止的Django Datetime字段

来自分类Dev

到目前为止是否有任何恶意 PPA?

来自分类Dev

如何检测UITableView上的触摸,到目前为止似乎没有任何效果?

来自分类Dev

如何判断到目前为止BOOST_CHECK测试是否失败?

来自分类Dev

如何获取到目前为止的总分钟数?

来自分类Dev

我如何获得strftime的工作?到目前为止没有任何工作

来自分类Dev

如何在SQL Server中计算序列中组的最小值和最大值?

来自分类Dev

我需要能够将文本框中的值插入到Access数据库中,但是到目前为止它不起作用

来自分类Dev

在SDL2,C ++中,TTF_SizeText()没有为“ i”,“ j”和“ 1”(到目前为止发现)返回正确的值

来自分类Dev

我需要能够将文本框中的值插入到Access数据库中,但是到目前为止它不起作用

来自分类Dev

如何列出到目前为止正在使用或创建的所有配置单元数据库?

来自分类Dev

如何使用按钮更改网站上实质性UI的主题?这就是我到目前为止

来自分类Dev

如何列出到目前为止正在使用或创建的所有配置单元数据库?

来自分类Dev

如何删除目录中的内容,而不删除目录本身?到目前为止,这是我尝试过的

来自分类Dev

我如何将随机生成的算术循环10次以上?到目前为止,这是我的代码

来自分类Dev

如何计算R中不同时间序列长度上的最大值和最小值之间的差异?

来自分类Dev

时间序列 Mathematica 最大值和最小值

来自分类Dev

如何找到与列的最小值/最大值相关联的行?

Related 相关文章

  1. 1

    到目前为止,跟踪哪个值最小,哪个值最大

  2. 2

    从函数内部,如何查看到目前为止将返回到管道的结果

  3. 3

    如何打印到目前为止找到的最大质数?

  4. 4

    我想获取每个<td> <button> </ td>的值。到目前为止,这是我的代码

  5. 5

    OffsetDateTime 到目前为止 Android

  6. 6

    Python Pandas-计算到目前为止每一行在列中找到的字符串

  7. 7

    我试图在用户输入税金时获得g_total。到目前为止,它没有返回任何值。到目前为止我已经尝试过这件事

  8. 8

    JS到目前为止的最小回溯算法错误

  9. 9

    Python和Pandas-列“计算方向”并显示“到目前为止的平均值”

  10. 10

    选择到目前为止的特定日期mysql

  11. 11

    Orchard的Context数据-到目前为止还很近

  12. 12

    到目前为止的Django Datetime字段

  13. 13

    到目前为止是否有任何恶意 PPA?

  14. 14

    如何检测UITableView上的触摸,到目前为止似乎没有任何效果?

  15. 15

    如何判断到目前为止BOOST_CHECK测试是否失败?

  16. 16

    如何获取到目前为止的总分钟数?

  17. 17

    我如何获得strftime的工作?到目前为止没有任何工作

  18. 18

    如何在SQL Server中计算序列中组的最小值和最大值?

  19. 19

    我需要能够将文本框中的值插入到Access数据库中,但是到目前为止它不起作用

  20. 20

    在SDL2,C ++中,TTF_SizeText()没有为“ i”,“ j”和“ 1”(到目前为止发现)返回正确的值

  21. 21

    我需要能够将文本框中的值插入到Access数据库中,但是到目前为止它不起作用

  22. 22

    如何列出到目前为止正在使用或创建的所有配置单元数据库?

  23. 23

    如何使用按钮更改网站上实质性UI的主题?这就是我到目前为止

  24. 24

    如何列出到目前为止正在使用或创建的所有配置单元数据库?

  25. 25

    如何删除目录中的内容,而不删除目录本身?到目前为止,这是我尝试过的

  26. 26

    我如何将随机生成的算术循环10次以上?到目前为止,这是我的代码

  27. 27

    如何计算R中不同时间序列长度上的最大值和最小值之间的差异?

  28. 28

    时间序列 Mathematica 最大值和最小值

  29. 29

    如何找到与列的最小值/最大值相关联的行?

热门标签

归档