当变量具有非缺失值时,为什么Stata报告零观测值?

时间:2015-08-04 10:53:22

标签: string stata

我有一个名为co_dormant的变量,它带有两个字符串值: YN

到目前为止,当我输入summarize co_dormant时,我得到零观察。 但是,当我输入table co_dormant时,我的频率为YN

我希望保留所有非缺失co_dormant的观察结果,以及当我输入

keep if co_dormant != .

所有观察都被删除了。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:3)

summarize适用于数字类型变量。 (例如,字符串变量的平均值是什么?)

table默认情况下会提供频率。 Stata可以计算字符串或数字类型变量的频率。

如果您想丢弃缺失(Stata认为缺失),您可以使用missing()功能。这适用于字符串和数字变量:

clear
set more off

input ///
str1 myvar
Y
N
""
end

list

drop if missing(myvar)

list

有关缺失值的详细信息,请参阅help missing

如果您执行了您所说的执行,并且该变量是字符串类型,则会出现错误:

. input ///
> str1 myvar

         myvar
  1. Y
  2. N
  3. ""
  4. end

. 
. list

     +-------+
     | myvar |
     |-------|
  1. |     Y |
  2. |     N |
  3. |       |
     +-------+

. 
. keep if myvar != .
type mismatch
r(109);