楼主: diannaoasd
1927 9

[数据管理求助] 【500论坛币求助】如何发现不参与回归的样本? [推广有奖]

  • 8关注
  • 7粉丝

已卖:1334份资源

讲师

32%

还不是VIP/贵宾

-

威望
0
论坛币
79917 个
通用积分
175.0726
学术水平
9 点
热心指数
5 点
信用等级
5 点
经验
5816 点
帖子
180
精华
0
在线时间
621 小时
注册时间
2010-12-6
最后登录
2025-12-25

楼主
diannaoasd 发表于 2022-4-17 18:20:00 |AI写论文
500论坛币
1000个样本obs的数据,由于一些样本的一些变量有缺失值。回归之后,发现,只有300个样本obs参与了回归。
现在我想知道,到底,各个变量var参与回归的样本obs的个数,目的是找出,哪些变量var的缺失值太多,导致有700个样本obs没有参与回归。

现在,我知道summarize命令可以看var的Obs个数。想手动计算缺失值个数, 看说明,有个Scalars,   r(N)  = number of observations。但发现不行,因为各个obs的缺失变量var不一样。
但是,还是想知道,如何直接删掉 缺失值 大于400个的样本呢?


示例:
这里有10个obs,6个obs有缺失值,最终4个obs参与回归,如何让stata输出,各个var参与回归的obs的个数,目的是想知道哪个var的缺失值太多,导致参与回归的obs少。

示例数据.dta (3.2 KB)


  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input long(Y x1 x2 x3)
  4. 5 . . .
  5. 6 2 2 1
  6. 4 1 2 1
  7. 3 . . .
  8. 4 3 . .
  9. 5 . 3 .
  10. 5 . 4 .
  11. 6 3 2 3
  12. 4 3 . .
  13. 5 4 4 2
  14. end
复制代码




最佳答案

pengxhan 查看完整内容

想知道哪个变量缺失值最多 nmissing
关键词:observations observation generated summarize observat

沙发
pengxhan 发表于 2022-4-17 18:20:01
diannaoasd 发表于 2022-4-17 22:12
感谢回复,我的最终目的是,想知道哪个var的缺失值太多,导致参与回归的obs少。
keep if e(sample)可以 ...
想知道哪个变量缺失值最多
nmissing

藤椅
qianchen 发表于 2022-4-17 20:39:34
reg Y x1 x2 x3
keep if e(sample)
保留下来的就是实际参与回归的每个变量个数

板凳
黃河泉 在职认证  发表于 2022-4-17 20:52:17
请据以更改:
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input long(Y x1 x2 x3)
  4. 5 . . .
  5. 6 2 2 1
  6. 4 1 2 1
  7. 3 . . .
  8. 4 3 . .
  9. 5 . 3 .
  10. 5 . 4 .
  11. 6 3 2 3
  12. 4 3 . .
  13. 5 4 4 2
  14. 9 4 2 7
  15. end

  16. reg Y x1 x2 x3

  17. foreach v of varlist Y x1 x2 x3 {
  18.         egen m_`v' = total(`v'==.)
  19. }
复制代码

报纸
zdlspace 学生认证  发表于 2022-4-17 21:56:32
  1. reg Y x*
  2. count if e(sample)
复制代码

地板
diannaoasd 发表于 2022-4-17 22:12:05
qianchen 发表于 2022-4-17 20:39
reg Y x1 x2 x3
keep if e(sample)
保留下来的就是实际参与回归的每个变量个数
感谢回复,我的最终目的是,想知道哪个var的缺失值太多,导致参与回归的obs少。
keep if e(sample)可以筛选最终参与回归的obs,但还是不知道到底是因为哪个var的缺失值太多。

7
pengxhan 发表于 2022-4-18 15:18:06
  clear

. input long(Y x1 x2 x3)

                Y            x1            x2            x3
  1. 5 . 3 4
  2. 6 . 2 1
  3. 4 1 2 1
  4. 3 3 . 3
  5. 4 3 . 2
  6. 5 4 . 4
  7. 5 5 2 5
  8. 6 3 4 3
  9. 4 3 8 .
10. 5 4 4 2
11. 9 4 2 7
12. end

. reg Y x*

      Source |       SS           df       MS      Number of obs   =         5
-------------+----------------------------------   F(3, 1)         =      5.60
       Model |  13.9682028         3  4.65606759   Prob > F        =    0.2990
    Residual |  .831797235         1  .831797235   R-squared       =    0.9438
-------------+----------------------------------   Adj R-squared   =    0.7752
       Total |        14.8         4         3.7   Root MSE        =    .91203

------------------------------------------------------------------------------
           Y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
          x1 |     -0.846      0.469    -1.80   0.323       -6.811       5.120
          x2 |      0.925      0.530     1.74   0.331       -5.813       7.664
          x3 |      1.205      0.325     3.71   0.168       -2.920       5.330
       _cons |      1.747      1.783     0.98   0.507      -20.904      24.397
------------------------------------------------------------------------------

. nmissing

x1                  2
x2                  3
x3                  1
实际回归使用的样本也不是你理解的由最多缺失值变量单独决定
而是所有变量无缺失的交集决定

8
qianchen 发表于 2022-4-18 16:45:10
pengxhan 发表于 2022-4-18 15:18
clear

. input long(Y x1 x2 x3)
说错了口误吧?是并集不是交集

9
diannaoasd 发表于 2022-4-22 00:15:52
黃河泉 发表于 2022-4-17 20:52
请据以更改:
感谢!

10
diannaoasd 发表于 2022-4-22 00:16:07
qianchen 发表于 2022-4-17 20:39
reg Y x1 x2 x3
keep if e(sample)
保留下来的就是实际参与回归的每个变量个数
感谢!

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

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