如何获得Stata 13中表中所有观察的计数?

时间:2014-11-16 21:51:15

标签: stata

我想计算一个变量的观察值,该变量由满足逻辑标准的其他变量的观察结果组成,并在assert语句中使用它,以便对数据约束进行一些测试,例如:

generate myvar = (var1 == 0 & var2 > 0) | (var1 == 0 & var3b > 0)
assert magiccommand(myvar) == 0

其中magiccommand应该是我正在寻找的命令或功能(不必是一个功能)。

我试过

  • counthelp count并未提供有关如何计算观察结果的任何信息。一般来说,信息的联系非常差。
  • sum():没有完成这项工作,图形输出会显示观察次数,但Stata的不良语言概念不允许以编程方式检索价值,也不会它通过help在手册中提供信息检索的任何入口点。
  • by:一般来说解释不充分,似乎设计得太强大了。
  • 我查了confirm conditional statement applies to >0 observations in Stata这几乎与我的问题相同,但我不确定我应该如何应用assert的答案,但仍然对此感到震惊命令的复杂性,这是一项非常简单的任务。
  • help _n:"包含当前观察次数"没有解释当前观察的解释......

我对自己能够找到答案的方式非常感兴趣,因为很难使用闭源软件,这种软件是在销售昂贵的书籍的基础上补偿恶意手册。

我必须在Windows 7上使用Stata 13。

1 个答案:

答案 0 :(得分:2)

您可以使用summarize

clear
set more off

input ///
var1 var2 var3b
0 1 5
0 0 0
0 0 3
1 0 0
end

generate myvar = (var1 == 0 & var2 > 0) | (var1 == 0 & var3b > 0)

list

*-----

summarize myvar
assert r(sum) == 0

另一种方式是

<snip>    

count if myvar
assert r(N) == 0

又一个:

<snip>

gen c = sum(myvar)
assert c[_N] == 0

help return是一个参考。 help subscripting是另一个。

search count observations会将您带到count,其内容非常明确,包括示例。我真的不明白为什么你说它“没有提供任何关于如何计算观察的信息”。另见

The Stata Journal, 第7卷第1期:第117-130页, 说到Stata:算一算吧 Nicholas J. Cox(http://www.stata-journal.com/article.html?article=pr0029)。

在充分尊重的情况下,我认为您在阅读help文件和手册方面做得很差。你真的没有在帖子中解释length()的意思。你假设Stata的编程范式与其他语言的范式相同,并且因为你没有研究它,你认为它是一个糟糕的。不同意见,我同意。它做的很好,有些不太好,但所有其他语言也是如此。 Stata开发人员可以通过多种方式寻求帮助(真的)。用户手册的第一部分清楚地解释了这一点。

如果我给出了无法解决问题的代码,那么您可能需要更好地解释自己。