繁体   English   中英

在Stata循环中显示数据

[英]Display data in Stata loop

我在Stata 12中有一个循环,它查看文件中的每条记录,如果找到等于1的flag ,则会生成五个估算值。 我的代码如下所示:

forvalues i=1/5 {
 gen y3`i' = y2
 gen double h`i' = (uniform()*(1-a)+a) if flag==1
 replace y3`i' = 1.6*(invibeta(7.2,2.6,h`i')/(1-invibeta(7.2,2.6,h`i')))^(1/1.7) if 
   flag==1
 } 

a在其他地方定义。 我要检查各个归因。 因此,最好仅在flag = 1的情况下才显示估算变量。 我还想在旁边显示另一个值s 我需要帮助弄清楚语法。 我已经尝试了所有可以想到的引号和下标的组合,但始终收到错误消息。

我想到了另一种有用的修改。 假设我要在其上执行此例程的三个串联文件。 让他们有一个等于1、2或3的变量文件。我想为每个变量设置一个单独的种子,并在程序中进行操作,因此我有一条记录。 我设想这样的事情:

forvalues j=1/3 {
set seed=12345 if file=1
set seed=56789 if file=2
set seed=98765 if file=3

insert code above

}

这样行吗?

您未显示的代码无法发表评论,但“显示”一词可能会误导您。

  list y3`i' if flag == 1 

或某些变化可能是您想要的。 请注意, display是一次最多显示一行输出。

PS:当您是威廉·莎士比亚时,请知道杯子http://www.stata.com/giftshop/much-ado-mug/的灵感来自您的工作。

一个附属问题询问每次围绕一个循环选择不同的种子。 很简单:

  forval j = 1/3 { 
       local seed : word `j' of 12345 56789 98765 
       set seed `seed' 
       ...
  }

要么

  tokenize 12345 56789 98765 
  forval j = 1/3 { 
         set seed ``j'' 
         ...
  } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM