楼主: pcjoshua
29106 18

[其他] 如何批量删除全部是缺失值的变量 [推广有奖]

11
chou西西 发表于 2017-6-16 09:22:15
sungmoo 发表于 2012-9-28 18:04
*对于数值型变量
foreach v of var _all{
su `v'
您好,怎么批量删除有规律的变量呀!比如:_yi_isoXtim_2 _yi_isoXtim_3 _yi_isoXtim_4···_yi_isoXtim_200。谢谢!

12
黃河泉 在职认证  发表于 2017-6-16 10:27:52
chou西西 发表于 2017-6-16 09:22
您好,怎么批量删除有规律的变量呀!比如:_yi_isoXtim_2 _yi_isoXtim_3 _yi_isoXtim_4···_yi_isoXtim ...
试试
  1. drop _yi_*
复制代码

13
chou西西 发表于 2017-6-20 23:46:04
黃河泉 发表于 2017-6-16 10:27
试试
非常感谢您,谢谢,解决了。

14
伟轩 发表于 2018-9-13 16:34:21
peyzf 发表于 2016-6-5 16:19
对于字符型变量,应该如何处理?即批量删除全部为空的字符型变量?
  1. mata:
  2. varname = st_varname(1..st_nvar())
  3. for (i=st_nvar();i>0;i--){
  4.         if (st_isnumvar(varname[1,i]) == 1){
  5.                 if (colmin(st_data(.,varname[1,i])) == .){
  6.                         st_dropvar(varname[1,i])
  7.                 }
  8.         }
  9. }
  10. end
复制代码

15
peyzf 发表于 2018-9-13 19:13:01
感谢楼上朋友提供帮助

16
cooperzh 发表于 2018-10-23 11:43:22
可以先用missings report, sort 命令,把缺失值排序,然后把排在前面的变量名复制出来,然后删除就好

17
cooperzh 发表于 2018-10-30 23:24:50
抱歉,错误输出,请删除。

18
115861 发表于 2019-3-3 14:10:46
伟轩 发表于 2018-9-13 16:34
请问下你这个程序怎么用,我复制到stata中,或者不换varname,或者换位x3,好像不能删除达到删除全为缺失值的效果呀?
  1. clear
  2. input str27 varname str13 var_xu str1(x2 x3)
  3. "depreciation"      "bnzj"   "" "."
  4. "subsidized_income" ""       "" "."
  5. ""                  "cpxssr" "" "."
  6. "exported"          "ckjhz"  "" "."
  7. "employment"        "cyrsf"  "" "."
  8. end
复制代码


19
报报告大王 在职认证  发表于 2020-4-30 12:12:00
sungmoo 发表于 2012-9-28 18:04
*对于数值型变量
foreach v of var _all{
su `v'
在大神的基础上想了个应用到字符型的办法,先用encode把字符型变成数值型,用这个办法然后再转回来,就是有点啰嗦
foreach x of varlist *{
encode `x',gen(copy_`x')
}

foreach v of varlist copy_*{
su `v'
if r(N)==0 drop `v"
}

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-15 07:36