在 forvalues 中使用 "input" 命令; Stata 的行为就像我击中了 break

Using "input" command in forvalues; Stata acts like I hit break

我正在尝试为多个水果和多个年份创建空的观察值。我认为这会非常简单,但 Stata 的行为就像我在第一次进入循环后按下 "Break" 键一样。我做错了什么?

clear all
gen fruit = .
gen year = .

forvalues f = 10001/10400 {
    forvalues y = 2002/2009 {
        input
        `f' `y'
        end
    }
}

这是个好主意,但行不通。

  1. end 在循环中的含义与其在 input 中的含义冲突。

  2. 如果你input在循环之外,那么它不会理解循环语法。

这是另一种方法:

. clear all

. set obs `=400 * 8' 
number of observations (_N) was 0, now 3,200

. egen fruit = seq(), from(10001) to(10400) block(8) 

. egen year = seq(), from(2002) to(2009) 

. l in 1/16, sep(8) 

     +--------------+
     | fruit   year |
     |--------------|
  1. | 10001   2002 |
  2. | 10001   2003 |
  3. | 10001   2004 |
  4. | 10001   2005 |
  5. | 10001   2006 |
  6. | 10001   2007 |
  7. | 10001   2008 |
  8. | 10001   2009 |
     |--------------|
  9. | 10002   2002 |
 10. | 10002   2003 |
 11. | 10002   2004 |
 12. | 10002   2005 |
 13. | 10002   2006 |
 14. | 10002   2007 |
 15. | 10002   2008 |
 16. | 10002   2009 |
     +--------------+

你现在并没有完全空洞的观察,但我们知道你的意思。