删除所有缺失值的变量
Drop variables with all missing values
我的数据集中有 5000
个变量和 91,534
个观测值。
我想删除所有缺少值的变量:
X1 X2 X3
1 2 .
. 3 .
3 . .
. 5 .
X1 X2
1 2
. 3
3 .
. 5
我尝试使用 dropmiss
community-contributed 命令,但即使阅读了帮助文件,它似乎对我也不起作用。例如:
dropmiss
command dropmiss is unrecognized
r(199);
missings dropvars
force option required with changed dataset
相反,按照其中一种解决方案的建议,我尝试了以下操作:
ssc install nmissing
nmissing, min(91534)
drop `r(varlist)'
这个替代的社区贡献的命令似乎对我有用。
但是,我想知道是否有更优雅的解决方案,或者使用方法dropmiss
。
在最新的 Stata 中,search dropmiss
或 search nmissing
会告诉您这两个命令都被 Stata Journal[=] 中的 missings
取代了24=]。
以下对话可能会阐明您的问题:
. sysuse auto , clear
(1978 Automobile Data)
. generate empty = .
(74 missing values generated)
. missings dropvars
force option required with changed dataset
r(4);
. missings dropvars, force
Checking missings in make price mpg rep78 headroom trunk weight length turn
displacement gear_ratio foreign empty:
74 observations with missing values
note: empty dropped
missings dropvars
,一旦安装,将删除所有完全缺失的变量,除非您需要 force
选项,如果内存中的数据集尚未 save
d。
您可以简单地遍历数据集中的所有变量,并使用 capture
和 assert
命令来测试哪些变量的所有值都缺失。
这种方法的优点是您可以只使用 内置 Stata 命令:
clear
input X1 X2 X3
1 2 .
. 3 .
3 . .
. 5 .
end
list
+--------------+
| X1 X2 X3 |
|--------------|
1. | 1 2 . |
2. | . 3 . |
3. | 3 . . |
4. | . 5 . |
+--------------+
foreach var of varlist _all {
capture assert missing(`var')
if !_rc {
drop `var'
}
}
list
+---------+
| X1 X2 |
|---------|
1. | 1 2 |
2. | . 3 |
3. | 3 . |
4. | . 5 |
+---------+
我的数据集中有 5000
个变量和 91,534
个观测值。
我想删除所有缺少值的变量:
X1 X2 X3
1 2 .
. 3 .
3 . .
. 5 .
X1 X2
1 2
. 3
3 .
. 5
我尝试使用 dropmiss
community-contributed 命令,但即使阅读了帮助文件,它似乎对我也不起作用。例如:
dropmiss
command dropmiss is unrecognized
r(199);
missings dropvars
force option required with changed dataset
相反,按照其中一种解决方案的建议,我尝试了以下操作:
ssc install nmissing
nmissing, min(91534)
drop `r(varlist)'
这个替代的社区贡献的命令似乎对我有用。
但是,我想知道是否有更优雅的解决方案,或者使用方法dropmiss
。
在最新的 Stata 中,search dropmiss
或 search nmissing
会告诉您这两个命令都被 Stata Journal[=] 中的 missings
取代了24=]。
以下对话可能会阐明您的问题:
. sysuse auto , clear
(1978 Automobile Data)
. generate empty = .
(74 missing values generated)
. missings dropvars
force option required with changed dataset
r(4);
. missings dropvars, force
Checking missings in make price mpg rep78 headroom trunk weight length turn
displacement gear_ratio foreign empty:
74 observations with missing values
note: empty dropped
missings dropvars
,一旦安装,将删除所有完全缺失的变量,除非您需要 force
选项,如果内存中的数据集尚未 save
d。
您可以简单地遍历数据集中的所有变量,并使用 capture
和 assert
命令来测试哪些变量的所有值都缺失。
这种方法的优点是您可以只使用 内置 Stata 命令:
clear
input X1 X2 X3
1 2 .
. 3 .
3 . .
. 5 .
end
list
+--------------+
| X1 X2 X3 |
|--------------|
1. | 1 2 . |
2. | . 3 . |
3. | 3 . . |
4. | . 5 . |
+--------------+
foreach var of varlist _all {
capture assert missing(`var')
if !_rc {
drop `var'
}
}
list
+---------+
| X1 X2 |
|---------|
1. | 1 2 |
2. | . 3 |
3. | 3 . |
4. | . 5 |
+---------+