Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/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/Loops删除15000个观测值中的每9-15个观测值_Loops_Stata - Fatal编程技术网

Stata/Loops删除15000个观测值中的每9-15个观测值

Stata/Loops删除15000个观测值中的每9-15个观测值,loops,stata,Loops,Stata,我试图创建一个循环,从包含15000个观测值的数据集中删除每9-15个观测值。语法是什么 drop if mod(_n, 9) == 0 将删除观察结果9、18、27等。同样的原则也适用于任何其他正整数。一般来说,你不应该在观察值上循环,因为几乎肯定有一个更有效、更优雅的解决方案,正如Nick在上文提到的丢失时丢弃(道岔)解决方案。不过,我想你是一个新的Stata用户,所以我将运行一个假设的。假设您确实希望将观察值放置在某个范围内,而不是基于次要变量,如道岔。总的战略可以如下: 以15人为一

我试图创建一个循环,从包含15000个观测值的数据集中删除每9-15个观测值。语法是什么

drop if mod(_n, 9) == 0 

删除
观察结果9、18、27等。同样的原则也适用于任何其他正整数。

一般来说,你不应该在观察值上循环,因为几乎肯定有一个更有效、更优雅的解决方案,正如Nick在上文提到的
丢失时丢弃(道岔)
解决方案。不过,我想你是一个新的Stata用户,所以我将运行一个假设的。假设您确实希望
将观察值放置在某个范围内,而不是基于次要变量,如
道岔
。总的战略可以如下:

  • 以15人为一组进行分组观察(我想这里有
    id
    列)。在下面的解决方案中,我假设您没有此列
  • 在每组中,
    将观察结果放在第9-15位

  • 欢迎来到Stack Overflow,但请只关注您遇到的技术问题。你的需要不是一个标准。真正的问题在我回答下面的评论中给出。谢谢你,但出于某种原因,这不太管用。如果你看一看我共享的图像,我正在尝试删除没有变量“trutch”值的观测值。
    drop if missing(trutch)
    // Group observations
    gen group = ceil(_n/15)
    // Within each group, drop in the 9-15 locations 
    by group: drop if inrange(_n,9,15)