根据 Stata 中的缺失计数删除 columns/variables
Dropping columns/variables based on count of missing in Stata
我有一个大型数据集,如下所示。我想删除行中观察值少于 3 个的变量(不是 observations/rows)。在这种情况下,只需要删除变量 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 install nmissing
):
clear
set more off
input ///
x y z
. . 5
. 6 8
4 . 9
. . 1
5 . .
end
list
nmissing, min(3)
drop `r(varlist)'
如果我的解释不正确,请检查 help
中的 nmissing
和 npresent
。语法足够灵活。
编辑
重新解读。您想要删除不具有至少 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
我有一个大型数据集,如下所示。我想删除行中观察值少于 3 个的变量(不是 observations/rows)。在这种情况下,只需要删除变量 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 install nmissing
):
clear
set more off
input ///
x y z
. . 5
. 6 8
4 . 9
. . 1
5 . .
end
list
nmissing, min(3)
drop `r(varlist)'
如果我的解释不正确,请检查 help
中的 nmissing
和 npresent
。语法足够灵活。
编辑
重新解读。您想要删除不具有至少 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