根据Stata中缺少的列数删除列/变量

根据Stata中缺少的列数删除列/变量,stata,Stata,我有一个大的数据集,看起来像下面的那个。我想删除变量,而不是观察值/行中观察值少于3个的行。在这种情况下,只需删除变量X1 如果我问了一些明显的问题,我很抱歉,但是,在这一点上,我不知道如何继续进行 +-----+-----+-----+-----+-----+ | ID | X1 | X2 | X3 | X4 | +-----+-----+-----+-----+-----+ | 1 | . | 1 | 1 | 2 | | 2 | . | 2

我有一个大的数据集,看起来像下面的那个。我想删除变量,而不是观察值/行中观察值少于3个的行。在这种情况下,只需删除变量X1

如果我问了一些明显的问题,我很抱歉,但是,在这一点上,我不知道如何继续进行

+-----+-----+-----+-----+-----+
| ID  |  X1 | X2  | X3  | X4  |
+-----+-----+-----+-----+-----+
|  1  |  .  |  1  |  1  |  2  |    
|  2  |  .  |  2  |  2  |  3  |    
|  3  |  .  |  3  |  1  |  .  |   
|  4  |  1  |  .  |  3  |  1  |   
|  5  |  .  |  2  |  4  |  3  |   
|  6  |  2  |  3  |  .  |  .  |    
|total|  2  |  5  |  5  |  4  |   
+-----+-----+-----+-----+-----+

我的解释是,您希望删除至少有3个缺失值的变量

您可以使用nmissing,从SSC SSC安装nmissing:

如果我的解释不正确,请查看帮助中的N missing和N present。语法足够灵活

编辑 重新解释。您希望删除至少没有3个非缺失值的变量:

clear
set more off

input ///
ID    X1  X2   X3   X4  
1    .    1    1    2      
2    .    2    2    3      
3    .    3    1    .     
4    1    .    3    1     
5    .    2    4    3     
6    2    3    .    .   
end

list, sep(0)

npresent, min(3)
keep `r(varlist)'

describe
clear
set more off

input ///
ID    X1  X2   X3   X4  
1    .    1    1    2      
2    .    2    2    3      
3    .    3    1    .     
4    1    .    3    1     
5    .    2    4    3     
6    2    3    .    .   
end

list, sep(0)

npresent, min(3)
keep `r(varlist)'

describe